当我有1、2、3等字符串列表时,我想将此列用作一列
Ids
1
2
3
Run Code Online (Sandbox Code Playgroud)
是否可以通过sql查询?
例如)SELECT Ids from (1, 2, 3...) <-我知道这不起作用。
Dmi*_*try 11
对于 MySQL 8.0.4+
SELECT *
FROM
JSON_TABLE(
CONCAT('[', '1,2,3,4', ']'),
"$[*]"
COLUMNS(
ids BIGINT(20) PATH "$"
)
) AS tt
Run Code Online (Sandbox Code Playgroud)
将字符串用方括号 ( []) 连接起来,使其成为 JSON 数组。然后使用JSON_TABLE将其转换为表格。有关详细信息,请参阅MySQL JSON 表函数。
使用任意数字的子查询来分割您的字符串。您可以使用'1,2,3'代替vals。
SELECT
DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(vals, ',', n.digit+1), ',', -1) val
FROM
tt1
INNER JOIN
(SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) n
ON LENGTH(REPLACE(vals, ',' , '')) <= LENGTH(vals)-n.digit;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8930 次 |
| 最近记录: |