-1
我在包含這樣的數據的Oracle表具有此列ACTIVITY_SUB_ID
現場獲得具體的數據:從包含一個以上的數據
(95!25145!01/01/2015)
現在,我需要的是提取比方說日期僅限於95
或僅限25145
。
我該怎麼做?
我在包含這樣的數據的Oracle表具有此列ACTIVITY_SUB_ID
現場獲得具體的數據:從包含一個以上的數據
(95!25145!01/01/2015)
現在,我需要的是提取比方說日期僅限於95
或僅限25145
。
我該怎麼做?
你可以試試這個 -
select ltrim(regexp_substr('(95!25145!01/01/2015)','[^!]+', 1, 1),'(') from dual;
斯普利特!
SELECT REGEXP_SUBSTR(LTRIM(RTRIM(ACTIVITY_SUB_ID, ')'), '('), '[^!]+', 1, LEVEL) AS parts FROM test
CONNECT BY REGEXP_SUBSTR(LTRIM(RTRIM(ACTIVITY_SUB_ID, ')'), '('), '[^!]+', 1, LEVEL) IS NOT NULL;
我不Oracle數據庫那麼多的工作,但也許你可以使用正則表達式(REGEXP_SUBSTR在Oracle )提取數字?你使用哪個oracle版本? – leiseliesel
您可以使用regexp_substr(ACTIVITY_SUB_ID,'[^!] +',1,1) http://docs.oracle.com/cd/B12037_01/server.101/b10759/functions116.htm –
可能重複的[Oracle從字符串中提取可變數字](http://stackoverflow.com/questions/6514189/oracle-extract-variable-number-from-string) – leiseliesel