改变' 11AA22BB33'到2列。一个用于数字,另一个用于数字

时间:2016-01-14 07:17:40

标签: sql oracle oracle11g string-conversion

如何使用Oracle SQL查询

将类似'11AA22BB33CC'的字符串更改为类似下面的字符串
column1  |  column2
--------------------  
11       |  AA
22       |  BB  
33       |  CC

提前致谢。

1 个答案:

答案 0 :(得分:4)

我想我有这个工作。如果有更好的解决方案,请纠正我。

WITH temp AS(SELECT '11AA22BB33CC' c FROM dual)
SELECT regexp_substr(c,'[^[:digit:]]+',1,level),
       regexp_substr(c,'[0-9]+',1,level)
  FROM temp
connect by level < (regexp_count(c,'[0-9][A-Z]'))+1;