Har*_*tel -2 mysql recursive-query
我在 MySQL 中有一列返回逗号分隔值,我想将该列转换为行。
更好的答案是如何将逗号分隔的参数转换为 mysql 中的行?
select value from table limit 1
回复
| 价值 |
|---|
| 本田,activa,快乐,汽车 |
我希望这个值像这样排列
| 价值 |
|---|
| 本田 |
| 激活 |
| 乐趣 |
| 车 |
CREATE TABLE response (id INT, value TEXT)
SELECT 1 id, 'honda,activa,pleasure,car' value;
Run Code Online (Sandbox Code Playgroud)
SELECT response.id, jsontable.value
FROM response
CROSS JOIN JSON_TABLE(CONCAT('["', REPLACE(value, ',', '","'), '"]'),
'$[*]' COLUMNS (value TEXT PATH '$')) jsontable;
Run Code Online (Sandbox Code Playgroud)
| ID | 价值 |
|---|---|
| 1 | 本田 |
| 1 | 激活 |
| 1 | 乐趣 |
| 1 | 车 |
附言。该查询假定该值不包含双引号。如果它们存在,则必须引用它们。请参阅https://dbfiddle.uk/HUmPZEo1
| 归档时间: |
|
| 查看次数: |
4271 次 |
| 最近记录: |