回答

收藏

将逗号分隔的值拆分为Oracle中的列

技术问答 技术问答 47 人阅读 | 0 人回复 | 2023-09-13

我返回的值包含255个逗号分隔的值。有没有一种简单的方法可以将其拆分为不具有255 substr的列?
: o8 v. U( i# V; ~. o4 jROW  | VAL
3 {( h' ?2 u  H& h----------- 0 A9 ]; `. x/ ]" h, T' w
1    | 1.25, 3.87, 2, ...
6 a7 @6 l0 ~0 h" A/ z2    | 5, 4, 3.3, ....3 U" y, k, g: }. f; G

: Y: c& D1 j2 e1 f  L2 h; x8 RROW | VAL | VAL | VAL ...
5 o( `( V2 Y! G4 r---------------------
! C+ H# X3 S4 Y. m1   |1.25 |3.87 | 2 ...     1 e8 t' @" d& y/ E) ?; F
2   | 5   | 4   | 3.3 ...
9 _0 X* g9 T3 p                ' X$ Q  b9 [$ v- I1 s. t6 p% Q
解决方案:  Z% o% V$ C# p% w! T9 a3 A
               
( ?9 m* g& D1 `: X
" c+ D8 S% l. @# x- Q; r7 X( \' x
                您可以使用regexp_substr():, n; ^, P' S+ c( G2 G
select regexp_substr(val, '[^,]+', 1, 1) as val1,
% }6 o4 B8 U7 e8 W. d& w" Q       regexp_substr(val, '[^,]+', 1, 2) as val2,   v6 A" \' O$ y  }6 v
       regexp_substr(val, '[^,]+', 1, 3) as val3, - y8 V8 N7 R: _, ~( B" |
       . . .
9 a, d& |0 G: G/ U我建议您在Excel(或其他电子表格)中生成255个数字的列,并使用电子表格生成SQL代码。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则