CONCAT_WS 怎么拆分 一行变多行
时间: 2024-10-28 14:11:00 浏览: 32
mysql如何将多行数据合并成一行
`CONCAT_WS` 是 MySQL 中的一个函数,全称是 Concatenate With Separator,用于将一系列字符串连接在一起,并指定一个分隔符。如果想要将它拆分成多行,通常是在需要每两个字段之间添加换行符的情况下。
例如,假设你有一个包含逗号分隔值的字符串 `str`,你可以使用 `SUBSTRING_INDEX()` 函数配合 `REPLACE()` 和 `CONCAT_WS()` 来将其转换为多行:
```sql
SELECT
REPLACE(SUBSTRING_INDEX(str, ',', 1), '', '\n') AS field1,
REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(str, ',', -1), ',', 1), '', '\n') AS field2
FROM (
SELECT CONCAT_WS('\n', your_column) AS str
) subquery;
```
这里 `your_column` 应替换为实际的列名,`'\n'` 是你想插入的换行符。这个查询会将原字符串中的每一对连续的字段拆分为两行显示,第一字段在第一行,第二字段在第二行。
阅读全文