从包含多个数据的字段中获取特定数据

时间:2015-09-16 06:54:33

标签: sql database oracle

我在Oracle表中包含此列ACTIVITY_SUB_ID,其中包含如下数据:

(95!25145!01/01/2015)

现在,我需要的是提取例如仅限日期或仅95或仅25145

我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

你可以试试这个 -

select ltrim(regexp_substr('(95!25145!01/01/2015)','[^!]+', 1, 1),'(') from dual;

答案 1 :(得分:0)

!

拆分
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;

SQL Fiddle