首頁 > 資料庫 > mysql教程 > 如何在 SQL 中將單一「名稱」欄位拆分為「名字」和「姓氏」欄位?

如何在 SQL 中將單一「名稱」欄位拆分為「名字」和「姓氏」欄位?

Susan Sarandon
發布: 2025-01-13 11:54:43
原創
302 人瀏覽過

How to Split a Single

將單列值拆分為多個欄位

任務是將單一「姓名」欄位中的值拆分為多個資料列,包括名字和姓氏。您希望省略中間名,並將結果資料顯示在「first_name」和「last_name」欄位中。

自訂解決方案

建議的方法可能不適用於處理各種名稱格式。但是,自訂 SQL 查詢可以實現此目的:

<code class="language-sql">SELECT 
    CASE
        WHEN name LIKE '% %' THEN LEFT(name, Charindex(' ', name) - 1)
        ELSE name
    END AS first_name,
    CASE
        WHEN name LIKE '% %' THEN RIGHT(name, LEN(name) - Charindex(' ', REVERSE(name)))
        ELSE NULL
    END AS last_name
FROM YourTable;</code>
登入後複製

此查詢使用 Charindex 函數尋找「姓名」欄位中第一個空格字元的位置。如果找到空格,則將姓名拆分為名字和姓氏部分。如果沒有找到空格,則將整個名稱指派給名字列,並將 NULL 值指派給姓氏列。 RIGHT 函數的第二個參數已修正為使用 LEN(name) 計算字串長度,確保正確擷取姓氏。

以上是如何在 SQL 中將單一「名稱」欄位拆分為「名字」和「姓氏」欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板