当前位置: 代码迷 >> Oracle管理 >> oracle 一条话语实现将“17,20,23”拆分成‘17’,‘20’,‘23’的集合
  详细解决方案

oracle 一条话语实现将“17,20,23”拆分成‘17’,‘20’,‘23’的集合

热度:218   发布时间:2016-04-24 05:05:15.0
oracle 一条语句实现将“17,20,23”拆分成‘17’,‘20’,‘23’的集合
在oracle中,使用一条语句实现将“17,20,23”拆分成‘17’,‘20’,‘23’的集合

------解决方案--------------------
SELECT REGEXP_SUBSTR(TEXT,
'[0-9]+',
1,
RN) TEXT
FROM (SELECT '17,20,23' AS TEXT FROM DUAL) T1,
(SELECT LEVEL RN
FROM DUAL
CONNECT BY ROWNUM <=
(SELECT LENGTH(TEXT) -
LENGTH(REPLACE(TEXT,
',',
'')) + 1
FROM (SELECT '17,20,23' AS TEXT
FROM DUAL))) T2
------解决方案--------------------
SQL code
select regexp_substr('17,20,23', '[^,]+',1,rownum) rfrom dual connect by rownum<=length('17,20,23')-length(replace('17,20,23', ',', ''))+1;
  相关解决方案