gpt4 book ai didi

mysql - MySQL 中的 SQL 拆分没有自己的函数

转载 作者:行者123 更新时间:2023-11-29 22:29:55 25 4
gpt4 key购买 nike

我的数据库表中有一些奇怪的字符串,有点问题。我需要将此类字符串示例拆分为 INT 数组或单独拆分为 INT 循环或其他内容。

这必须在“普通”MySQL 中完成(没有函数、声明等 - 只有 SELECT 语句 + 内置函数,例如 REPLACE()SUBSTRING() )

524;779; 559;; ;559; 411;760;; + 其他;

这样的意图可以实现吗?

最佳答案

如果这是将数据转换为正常格式的一次运行操作,您可以从 this answer 获取这个想法。并将其扩展到一个字符串中 id 的最大数量。

SQL Fiddle 上的示例.

SELECT DISTINCT id, val
FROM (
SELECT id, substring_index(substring_index(`val`,';',-1),';',1) AS val FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-2),';',1) FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-3),';',1) FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-4),';',1) FROM tab
UNION ALL
SELECT id, substring_index(substring_index(`val`,';',-5),';',1) FROM tab
) x
WHERE val <> ''
ORDER BY id

关于mysql - MySQL 中的 SQL 拆分没有自己的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29896869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com