登录
首页 >  数据库 >  MySQL

如何从 MySQL 字段中包含逗号分隔的值中提取单个值?

时间:2024-11-16 12:58:00 335浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习数据库的朋友们,也希望在阅读本文《如何从 MySQL 字段中包含逗号分隔的值中提取单个值?》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新数据库相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

如何从 MySQL 字段中包含逗号分隔的值中提取单个值?

如何从包含逗号分隔值的 mysql 字段中提取单个值

您要从一个值中提取多个以逗号分隔的值,例如“1,2,3,4,5,6”。以下是如何使用 mysql 函数 substring_index() 来实现此目标:

具体步骤:

  1. 使用 substring_index() 函数按逗号分隔值,将字符串转换为多行。
  2. 重复使用 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 字段中包含逗号分隔的值中提取单个值?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>