将SELECT CONCAT_WS(',', 'san', 'lisi', 'lier') as value转为一列
时间: 2023-12-31 14:03:48 浏览: 54
如何修改Mysql中group_concat的长度限制
您可以使用MySQL的SUBSTRING_INDEX函数来实现将SELECT CONCAT_WS(',', 'san', 'lisi', 'lier')的结果转为一列,具体操作如下:
```
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT_WS(',', 'san', 'lisi', 'lier'), ',', numbers.n), ',', -1) AS value
FROM
(SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) numbers
WHERE n <= LENGTH(CONCAT_WS(',', 'san', 'lisi', 'lier')) - LENGTH(REPLACE(CONCAT_WS(',', 'san', 'lisi', 'lier'), ',', '')) + 1;
```
这个查询将返回以下结果:
```
value
-----
san
lisi
lier
```
该查询使用了一个名为“numbers”的子查询,该子查询返回数字1到4。这些数字用于提取原始字符串中的每个子字符串。在主查询中,我们使用SUBSTRING_INDEX函数来提取每个子字符串。最终,我们使用WHERE子句来确保我们只处理原始字符串中的每个子字符串。
阅读全文