使用oracle sql用逗号分割的字符串

时间:2016-04-10 12:43:23

标签: sql oracle oracle-analytics

如何使用oracle sql用逗号分割字符串? 这里我有一个列有下面的值

123Lcq
Lf32i
jkp32m

我想用逗号分隔它

1,2,3,L,c,q
L,f,3,2,i
j,k,p,3,2,m

2 个答案:

答案 0 :(得分:2)

您可以使用regexp_replace

SELECT substr(regexp_replace(mycol, '(.)', ',\1'), 2)
FROM   mytable

正则表达式查找每个字符,然后那些匹配的字符都以逗号为前缀。最后,使用简单的substr来消除第一个逗号。

请注意,修剪逗号可以替代substr,但是当原始值在字符串末尾已经有逗号时,行为会有所不同:修剪时,您也会删除这些原始逗号。

答案 1 :(得分:1)

您可以使用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)