如何從包含逗號分隔值的 mysql 字段中提取單個值
您要從一個值中提取多個以逗號分隔的值,例如“1,2,3,4,5,6”。以下是如何使用 mysql 函數(shù) substring_index() 來實現(xiàn)此目標:
具體步驟:
- 使用 substring_index() 函數(shù)按逗號分隔值,將字符串轉(zhuǎn)換為多行。
- 重復(fù)使用 substring_index() 來進一步分隔后的行,直到提取到所需的值。
sql 語句示例:
select substring_index('1,2,3,4,5,6', ',', 1) as val union all select substring_index(substring_index('1,2,3,4,5,6', ',', 2), ',', -1) union all select substring_index(substring_index('1,2,3,4,5,6', ',', 3), ',', -1) -- 增加更多 union all select 語句以提取其他值
結(jié)果:
此查詢將返回一個表,其中包含單獨提取的值:
val |
---|
1 |
2 |
3 |
示例測試:
mysql> SELECT SUBSTRING_INDEX('1,2,3,4,5,6', ',', 1) AS val -> UNION ALL SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('1,2,3,4,5,6', ',', 2), ',', -1) -> UNION ALL SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('1,2,3,4,5,6', ',', 3), ',', -1) -> ; +------+ | val | +------+ | 1 | | 2 | | 3 | +------+ 3 rows in set (0.00 sec) mysql>
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END