2 回答

TA貢獻1846條經(jīng)驗 獲得超7個贊
FUNCTION REGEXP_SUBSTR_ALL(V_SRC VARCHAR, V_PATTERN VARCHAR2) RETURN VARCHAR2 IS
N_COUNT NUMBER;
I NUMBER;
V_RESULT VARCHAR2(4000);
BEGIN
N_COUNT := REGEXP_COUNT(V_SRC, V_PATTERN);
FOR I IN 1.. N_COUNT LOOP
V_RESULT := V_RESULT || REGEXP_SUBSTR(V_SRC, V_PATTERN, 1, I);
END LOOP;
RETURN V_RESULT;
END;
select REGEXP_SUBSTR_ALL('aBcX234EfX789uyTr', '\d+') from dual;
返回: 234789
函數(shù)定義如下: 在oracle 11g中可用
FUNCTION REGEXP_SUBSTR_ALL(V_SRC VARCHAR, V_PATTERN VARCHAR2) RETURN VARCHAR2 IS
N_COUNT NUMBER;
I NUMBER;
V_RESULT VARCHAR2(4000);
BEGIN
N_COUNT := REGEXP_COUNT(V_SRC, V_PATTERN);
FOR I IN 1.. N_COUNT LOOP
V_RESULT := V_RESULT || REGEXP_SUBSTR(V_SRC, V_PATTERN, 1, I);
END LOOP;
RETURN V_RESULT;
END;

TA貢獻1777條經(jīng)驗 獲得超3個贊
select REGEXP_REPLACE('abc123dsdfo456dfaj78dsl','[^0-9]','') from dual
如果達到
'X234,X789'
的效果,請查閱相關正則資料
- 2 回答
- 0 關注
- 628 瀏覽
添加回答
舉報