如何使用 oracle sql 用逗号分割字符串?在这里,我有一列,其值如下
123Lcq
Lf32i
jkp32m
我想用逗号分隔它
1,2,3,L,c,q
L,f,3,2,i
j,k,p,3,2,m
如何使用 oracle sql 用逗号分割字符串?在这里,我有一列,其值如下
123Lcq
Lf32i
jkp32m
我想用逗号分隔它
1,2,3,L,c,q
L,f,3,2,i
j,k,p,3,2,m
您可以使用regexp_replace:
SELECT substr(regexp_replace(mycol, '(.)', ',\1'), 2)
FROM mytable
正则表达式查找每个字符,然后所有匹配的字符都以逗号为前缀。最后一个简单substr
的用于消除第一个逗号。
请注意,修剪逗号可以替代substr
,但是当原始值在字符串末尾已经有逗号时,行为会有所不同:修剪时,您还会修剪掉这些原始逗号。
您可以使用以下方法实现所需的输出REGEXP_REPLACE
:
SELECT
rtrim(regexp_replace(text, '(.)', '\1,'), ',') result
FROM (
SELECT '123Lcq' text FROM dual UNION ALL
SELECT 'Lf32i' text FROM dual UNION ALL
SELECT 'jkp32m' text FROM dual)