【发布时间】:2016-04-17 10:13:51
【问题描述】:
我需要根据以下规则拆分字符串
规则 1:拆分长度为 10 个字符的字符串。
规则 2:如果拆分后的字符串长度大于 10,则如果该值大于 10 个字符的长度,则用最后一个分隔符 (,) 拆分该字符串
Input
Row1 - 01,234,456890,12,3456,7890123,12
Output
Row1 - 01,234,
Row2 - 456890,12,
Row3 - 3456,
Row4 - 7890123,12
我尝试了这个查询,但它被分成了 10 个字符
SELECT distinct regexp_replace('01,234,456890,12,3456,7890123,12',
'(.{10})', '\1' || CHR(13) || CHR(10)) txt
FROM dual
CONNECT BY regexp_substr('01,234,456890,12,3456,7890123,12',
'(.{10})', 1, LEVEL) IS NOT NULL
【问题讨论】:
-
你尝试过什么吗?
-
是的,我试过这个查询,但它被 10 个字符分割 SELECT distinct regexp_replace('01,234,456890,12,3456,7890123,12','(.{10})', '\ 1' || CHR(13) || CHR(10)) txt FROM dual CONNECT BY regexp_substr('01,234,456890,12,3456,7890123,12', '(.{10})', 1, LEVEL) IS非空