mysql一行逗号分割的数据全部分解为多行
时间: 2023-02-06 07:17:52 浏览: 175
您可以使用 MySQL 的内置函数 `SUBSTRING_INDEX` 和循环语句来实现这一目标。
例如,假设您有一个包含逗号分割的字符串的表格,其中的一列名为 `string_column`,并且您希望将这些字符串分解为多行。您可以使用以下查询来实现这一目标:
```
SET @i = 0;
SET @str = (SELECT string_column FROM your_table WHERE id = 1);
SET @delimiter = ',';
WHILE @i < LENGTH(@str) DO
SET @i = @i + 1;
INSERT INTO your_table (string_column)
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(@str, @delimiter, @i), @delimiter, -1) AS string_column;
END WHILE;
```
在这个查询中,我们使用 `SUBSTRING_INDEX` 函数来获取字符串中的第 `i` 个逗号分割的部分,并将它插入到表格中。我们使用循环语句来迭代每个逗号分割的部分,直到字符串的末尾。
请注意,上述查询假定您要将字符串分解为单独的行,而不是将每个逗号分割的部分放入单独的列中。如果您希望将每个逗号分割的部分放入单独的列中,则可以使用相似的查询,但是需要使用多个 `SUBSTRING_INDEX` 函数,并为每个逗号分割的部分指定单独的列。
相关问题
mysql 根据逗号拆分字段为多行数据
好的,我可以回答这个问题。您可以使用 MySQL 中的 SUBSTRING_INDEX 函数将逗号拆分字段为多行数据。例如,使用以下语句可以将字段 employee_ids 中的逗号拆分为多行:
SELECT SUBSTRING_INDEX(employee_ids, ',', 1) as employee_id
FROM your_table;
这将返回一个结果集,其中每个行包含一个 employee_id。您可以通过将第三个参数(即逗号)更改为不同的分隔符来使用此方法将其他分隔符分割的字段拆分为多行。
阅读全文