在使用MySQL 執行 SQL查詢的過程中,有時需要將某個字段的字符串類型轉換為數組類型,以便于我們能夠方便地進行后續操作。 在MySQL 數據庫中,可以使用一些內置函數來進行字符串到數組的轉換操作,本文就來介紹其中兩種方法。
第一種方法是使用SUBSTRING_INDEX 函數。該函數能夠從字符串中選擇出前N 個、后N 個或指定分隔符之間的部分,并返回截取后的字符串。下面是一個使用SUBSTRING_INDEX 函數將字符串轉換為數組的例子:
SELECT SUBSTRING_INDEX("1,2,3,4",",",1) as val1, SUBSTRING_INDEX(SUBSTRING_INDEX("1,2,3,4",",",2),",",-1) as val2, SUBSTRING_INDEX(SUBSTRING_INDEX("1,2,3,4",",",3),",",-1) as val3, SUBSTRING_INDEX(SUBSTRING_INDEX("1,2,3,4",",",4),",",-1) as val4
輸出結果為:
val1 | val2 | val3 | val4 | |------|------|------|------| | 1 | 2 | 3 | 4
第二種方法是使用JSON 函數。在MySQL 的8.0版本中,增加了JSON 函數,支持將字符串解析為JSON 格式,我們可以將一串字符串轉換為一個JSON 數組,下面是一個使用JSON 函數將字符串轉換為數組的例子:
SELECT JSON_ARRAY("1","2","3","4") AS `array`
輸出結果為:
array | |---------------| | [1, 2, 3, 4]
通過以上兩種方法,我們就可以將字符串類型的數據轉換為數組類型,在MySQL 數據庫中進行更加便捷的操作。
下一篇mysql 字符串轉行