將單列值拆分為多個欄位
任務是將單一「姓名」欄位中的值拆分為多個資料列,包括名字和姓氏。您希望省略中間名,並將結果資料顯示在「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中文網其他相關文章!