SELECT 'A1BC1D' FROM DUAL;
目的
A1
B
C1
D
用于查詢其它表
select * from a where a.name='A1';
select * from a where a.name='B';
select * from a where a.name='C1';
select * from a where a.name='D';
uj5u.com熱心網友回復:
9i貌似不支持正則呢。規律是什么,比如出現A12BC1D的情況如何提取
uj5u.com熱心網友回復:
SELECT replace(MAX(SYS_CONNECT_BY_PATH(val, ' ')), ' ', '')
FROM (select val,
flag,
ROW_NUMBER() OVER(PARTITION BY flag ORDER BY flag) RN2
from (select val,
(case
when ascii(val) <= 57 then
0
else
1
end) + rn flag,
rn
from (select substr('CA1BC1D', rownum, 1) val, rownum rn
from dual
connect by rownum <= length('CA1BC1D'))))
START WITH RN2 = 1
CONNECT BY PRIOR flag = flag
AND PRIOR RN2 = RN2 - 1
GROUP BY flag
order by flag
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/113570.html
標籤:開發
上一篇:ORA-07445: 出現例外錯誤: 核心轉儲 [psdsbaa()+1944] [SIGSEGV] [ADDR:0x14] [PC:0x10A3D25D8]
下一篇:mysql 臨時表插入資料報錯
