gpt4 book ai didi

mysql - 在 MySQL 中拆分逗号分隔值

转载 作者:行者123 更新时间:2023-11-29 07:30:47 24 4
gpt4 key购买 nike

我正在尝试将字符串中以逗号分隔 (,) 的值拆分为多列

示例数据:

     COL1                 COL2            COL3
000002,000003,000042 09,31,51 007,004,007

预期输出:

Pno       Cno  Sno
000002 09 007
000003 31 004
000042 51 007

我尝试了以下查询:

SELECT   SUBSTRING_INDEX(COL1, ',', 1) Pno
,SUBSTRING_INDEX(COL2, ',', 1) Cno
,SUBSTRING_INDEX(COL3, ',', 1) Sno
FROM MyTargetTable

结果:

Pno        Cno  Sno
000002 09 007

我可能在每列中得到超过 3 行,我想知道是否有任何方法可以在不指定子字符串位置的情况下实现这一点。

可能的输入数据也可能是这样

     COL1                        COL2             COL3
000002,000003,000042,,000002 09,31,51,,32 007,004,007,,012

最佳答案

这是一个想法。它假设您有一个整数表 (ints),其值 (i) 0-9...

SELECT DISTINCT
SUBSTRING_INDEX(SUBSTRING_INDEX(col1,',',i+1),',',-1)x
, SUBSTRING_INDEX(SUBSTRING_INDEX(col2,',',i+1),',',-1)y
, SUBSTRING_INDEX(SUBSTRING_INDEX(col3,',',i+1),',',-1)z
FROM my_table
, ints
ORDER
BY i;

关于mysql - 在 MySQL 中拆分逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51381854/

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