使用 MySQL 中的 SUBSTRING_INDEX 函数和 UNION ALL 操作,可以将一个包含逗号分隔值的字段拆分成多行。

例如:

SELECT SUBSTRING_INDEX('A,B,C,D', ',', 1) AS value
UNION ALL
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('A,B,C,D', ',', 2), ',', -1) AS value
UNION ALL
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('A,B,C,D', ',', 3), ',', -1) AS value
UNION ALL
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('A,B,C,D', ',', 4), ',', -1) AS value;

这将返回以下结果:

+-------+
| value |
+-------+
| A     |
| B     |
| C     |
| D     |
+-------+

在这个例子中,我们将 'A,B,C,D' 作为输入字符串,并使用 SUBSTRING_INDEX 函数来提取每个逗号分隔值。UNION ALL 操作将这些值连接成一个结果集,并将每个值作为一个单独的行返回。

MySQL 字段拆分逗号分隔值成多行 - 使用 SUBSTRING_INDEX 和 UNION ALL

原文地址: https://www.cveoy.top/t/topic/nN4D 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录