首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中將 JSON 陣列轉換為行?

如何在 MySQL 中將 JSON 陣列轉換為行?

Mary-Kate Olsen
發布: 2024-11-26 02:54:09
原創
463 人瀏覽過

How to Convert a JSON Array into Rows in MySQL?

將 MySQL 中的 JSON 陣列轉換為行

將 JSON 陣列轉換為 MySQL 表中的單獨行可能是一個挑戰。但是,可以使用各種技術來實現此操作,包括以下技術:

方法1:JSON_EXTRACT 和Union

此方法涉及使用JSON_EXTRACT 函數提取單一數組元素並使用UNION 運算子將它們組合起來。舉個例子:

SET @j = '[1, 2, 3]';

SELECT JSON_EXTRACT(@j, '$[0]') AS value
UNION
SELECT JSON_EXTRACT(@j, '$[1]') AS value
UNION
SELECT JSON_EXTRACT(@j, '$[2]') AS value;
登入後複製

方法二:JSON_TABLE (MySQL 8 )

MySQL 8 引入了 JSON_TABLE 函數,它允許你建立一個基於JSON 文件。這提供了一種將 JSON 數組轉換為行的簡單方法。以下是一個範例:

SET @j = '[5, 6, 7]';

SELECT *
FROM JSON_TABLE(
  @j,
  "$[*]"
  COLUMNS(
    Value INT PATH "$"
  )
) data;
登入後複製

方法 3:字串分割和 JSON_TABLE

此技術利用了 MySQL 缺乏內建字串分割功能的事實。透過將分隔字串轉換為 JSON 字串,您可以使用 JSON_TABLE 來實現分割功能。

set @delimited = 'a,b,c';

SELECT *
FROM JSON_TABLE(
  CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'),
  "$[*]"
  COLUMNS(
    Value varchar(50) PATH "$"
  )
) data;
登入後複製

這些方法為將 JSON 陣列轉換為 MySQL 中的單獨行提供了通用的解決方案。雖然 MySQL 5.7 可能需要更複雜的方法,但 MySQL 8 引入了更有效率的選項,例如 JSON_TABLE,為資料操作開闢了新的可能性。

以上是如何在 MySQL 中將 JSON 陣列轉換為行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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