0

Oracle SQLを使用して文字列をコンマで分割するにはどうすればよいですか? ここに、以下のような値を持つ列があります

123Lcq
Lf32i
jkp32m

カンマで区切りたい

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

2 に答える 2

2

regexp_replaceを使用できます:

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

正規表現はすべての文字を検索し、それらの一致する文字にはすべてコンマがプレフィックスとして付けられます。最後に、単純substrを使用して最初のコンマを削除します。

カンマのトリミングは の代わりになる可能性がありますがsubstr、元の値の文字列の末尾に既にカンマがある場合は動作が異なることに注意してください: トリミングすると、これらの元のカンマも削除されます。

于 2016-04-10T12:51:12.667 に答える
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)
于 2016-04-10T12:51:14.763 に答える