在MySQL 中將JSON 數組轉換為行
在MySQL 5.7 及更早版本中,操作JSON 可能具有挑戰性,尤其是在將JSON 數組轉換為行。然而,在 MySQL 8 中,新的 JSON_TABLE 函數提供了一個簡單的解決方案。
JSON_TABLE 函數
JSON_TABLE 函數允許您輕鬆地從 JSON 文件和映射中提取資料它到關係表模式。若要將JSON 陣列轉換為行,請使用下列語法:
SELECT * FROM JSON_TABLE( <json_array>, "$[*]" COLUMNS( <column_name> <data_type> PATH "$" ) ) <table_alias>;
範例
考慮一個JSON 陣列:
[5, 6, 7]
您
您SELECT * FROM JSON_TABLE( '[5, 6, 7]', "$[*]" COLUMNS( Value INT PATH "$" ) ) data;您
您
您| Value | |---|---| | 5 | | 6 | | 7 |您
您您您
您您
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
輸出將be:
一般字串分割MySQL 缺乏的原生字串分割功能。但是,您可以使用 JSON_TABLE 來實現類似的結果:這會將分隔字串拆分為 JSON 數組,然後將其轉換為表。以上是MySQL 的 JSON_TABLE 函數如何將 JSON 陣列轉換為行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!