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

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

Linda Hamilton
發布: 2025-01-13 07:18:45
原創
296 人瀏覽過

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中文網其他相關文章!

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