
如何从包含逗号分隔值的 字段中提取单个值
您要从一个值中提取多个以逗号分隔的值,例如“1,2,3,4,5,6”。以下是如何使用 mysql 函数 substring_index() 来实现此目标:
具体步骤:
- 使用 substring_index() 函数按逗号分隔值,将字符串转换为多行。
- 重复使用 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 语句以提取其他值
登录后复制
结果:
此查询将返回一个表,其中包含单独提取的值:
| 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>
登录后复制
以上就是如何从 MySQL 字段中包含逗号分隔的值中提取单个值?的详细内容,更多请关注米云网其它相关文章!
