首頁 >資料庫 >mysql教程 >如何在 SQL 中將單一列的多個值拆分為單獨的列?

如何在 SQL 中將單一列的多個值拆分為單獨的列?

Linda Hamilton
Linda Hamilton原創
2025-01-13 07:18:45267瀏覽

How Can I Split a Single Column of Multiple Values into Separate Columns in SQL?

將具有多個值的單列轉換為 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 '% %' 欄位是否包含空格。如果存在空格,SUBSTRINGCHARINDEX 函數分別將空格之前和之後的文字提取到 first_namelast_name 中。 如果找不到空間,則將整個 name 指派給 first_name,並將 last_name 設為 NULL

此解決方案為許多常見場景提供了實用的方法,儘管更複雜的情況可能需要更複雜的字串操作技術。

以上是如何在 SQL 中將單一列的多個值拆分為單獨的列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn