【发布时间】:2019-05-24 10:03:30
【问题描述】:
我刚刚想到如何在 sql 中循环?
例如 我有这个专栏
PARAMETER_VALUE
E,C;S,C;I,X;G,T;S,J;S,F;C,S;
我想将 (,) 之前的所有值存储在临时列中,并将 (;) 之后的所有值存储到另一列中 然后它不会停止,直到 (;) 之后没有更多值
示例的预期输出
COL1 E S I G S S C
COL2 C C X T J F S
等等。 . .
【问题讨论】:
-
更改您的数据模型/设计。不同的值应该通过将它们存储为单独的列来表示,而不是混杂在一起成为带有分隔符的字符串。因此,您将继续面临问题,这从 SO 中与您类似的大量问题中可以看出。
-
我不明白。您是否希望结果有两列和一个单行,其值为
'E S I G S S C'和'C C X T J F S'(由空格分隔的字母字符串)?或者您是否希望输出具有两列和 七 行,并且每个值(每个行/列交叉点)只有一个字母?只有后者才有意义 - 如果是前者,我想知道你为什么要首先这样做。
标签: sql regex oracle regexp-substr