gpt4 book ai didi

string - 如何在 Oracle 中拆分逗号分隔的字符串

转载 作者:行者123 更新时间:2023-12-04 14:36:08 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to convert comma separated values to rows in oracle?

(5 个回答)


8 个月前关闭。




如何使用 SUBSTR 在 Oracle 中拆分逗号分隔的字符串和 INSTR .

字符串 '20.4,12.5,3.5,0.2,0.2' .

我尝试使用以下代码,但无法获取第二个逗号后的值。

SELECT substr('20.4,12.5,3.5,0.2,0.2',0,instr('20.4,12.5,3.5,0.2,0.2',',')-1) 
value FROM dual -- 1. 20.4

对于第二个值,我在第二个逗号之后获取整个字符串。
SELECT substr('20.4,12.5,3.5,0.2,0.2',instr('20.4,12.5,3.5,0.2,0.2',',')+1,instr('20.4,
12.5,3.5,0.2,0.2',',',2,2)-1) st FROM dual -- result : 12.5,3.5,

我想要每个逗号后的值,比如

20.4

12.5

3.5等。

最佳答案

基于 https://blogs.oracle.com/aramamoo/how-to-split-comma-separated-string-and-pass-to-in-clause-of-select-statement :

首先,我们将形成一个查询,该查询拆分此逗号分隔的字符串并将单个字符串作为行给出。

SQL> select regexp_substr('20.4,12.5,3.5,0.2,0.2','[^,]+', 1, level) from dual
connect by regexp_substr('20.4,12.5,3.5,0.2,0.2', '[^,]+', 1, level) is not null;


REGEXP_SUBSTR('20.4,1
---------------------
20.4
12.5
3.5
0.2
0.2

上面的查询遍历逗号分隔的字符串,搜索逗号 (,),然后通过将逗号视为分隔符来拆分字符串。每当遇到分隔符时,它都会将字符串作为一行返回。

关于string - 如何在 Oracle 中拆分逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44260177/

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