將具有多個值的單列轉換為 SQL 中的單獨欄位
使用 SQL 資料通常需要重構列。 一項常見任務是將包含多個值的單一欄位拆分為不同的欄位。 這是實現此目的的方法:
以下 SQL 查詢使用 CASE
語句和字串函數來解析包含名字和姓氏的名為「name」的欄位:
<code class="language-sql">SELECT CASE WHEN name LIKE '% %' THEN SUBSTRING(name, 1, CHARINDEX(' ', name) - 1) ELSE name END AS first_name, CASE WHEN name LIKE '% %' THEN SUBSTRING(name, CHARINDEX(' ', name) + 1, LEN(name)) ELSE NULL END AS last_name FROM YourTable;</code>
此方法使用 name
檢查 LIKE '% %'
欄位是否包含空格。如果存在空格,SUBSTRING
和 CHARINDEX
函數分別將空格之前和之後的文字提取到 first_name
和 last_name
中。 如果找不到空間,則將整個 name
指派給 first_name
,並將 last_name
設為 NULL
。
此解決方案為許多常見場景提供了實用的方法,儘管更複雜的情況可能需要更複雜的字串操作技術。
以上是如何在 SQL 中將單一列的多個值拆分為單獨的列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!