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

mysql 中如何从逗号分隔的字段提取多个值?

从逗号分隔字段提取多个值

如何在 mysql 中从存储为逗号分隔值(例如“1,2,3,4,5,6”)的字段中分别提取这些值?

解决方案

可以使用 mysql 内置函数 substring_index() 将逗号分隔的值转换为多行,具体步骤如下:

  1. 将逗号分隔的值作为第一个参数传递给 substring_index() 函数。
  2. 将逗号作为第二个参数传递,表示分隔符。
  3. 将 1 作为第三个参数,指示要提取第一个值。

例如,以下查询将从逗号分隔的字段中提取前三个值:

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    |
+------+

以上就是MySQL 中如何从逗号分隔的字段提取多个值?的详细内容,更多请关注其它相关文章!