oracle 正規表示式

2021-05-23 00:14:19 字數 2059 閱讀 6196

with temp as(

select 'br.777-1' a from dual

union all

select 'bs.6/175' a from dual

union all

select 'd.140 supplement 1' a from dual

union all

select 'e.191(2000) amendment 1' a from dual

)select substr(a,0,instr(a,'.')-1),

substr(a,instr(a,'.') + 1,regexp_instr(a,'[^.[:alnum:]]') - (instr(a,'.') + 1)),--除點符號,數字和字元

substr(substr(a,instr(a,'.') + 1,length(a) - instr(a,'.')),regexp_instr(substr(a,instr(a,'.') +1,length(a) - instr(a,'.')),'[^[:alnum:]]'))

from temp

2.with a as(

select 110 yid,'殷劍鋒' br,to_date('2010-07-11','yyyy-mm-dd') rdate from dual

),b as(

select 110 yid,'距離入院7天' d1,'距離打針-2天' d2,'距離打針二7天' d3,'距離打針三10天' d4 from dual

)select br,rdate,rdate + to_number(regexp_replace(d1,'[^[:digit:]]',' ')) 第一次打針時間,--把d1為非數字替換為空

rdate + to_number(regexp_replace(d1,'[^[:digit:]]',' '))

+ to_number(regexp_replace(d2,'[^[:digit:]]',' ')) 第二次打針時間

from(

select br,rdate,d1,d2,d3,d4 from a,b where a.yid = b.yid

)with table1 as(

select '001' id,'abc def' content from dual

union all select '002','abc-def hij abc' from dual

union all select '003','hij def' from dual

union all select '004','bbb' from dual

)select id, regexp_replace(content,'[[:punct:]]',' ') d1 from table1--把符號替換為空格

3.查詢前三個字元為大寫字元+『_』 + 三個數字

with temp as(

select 'abc_123' a from dual

union all

select 'abb_123' a from dual

union all

select 'adc_12' a from dual

union all

select 'bc_123' a from dual

)select * from temp where regexp_like(a,'[[:upper:]]_[[:digit:]]')

4.**號碼的正規表示式

select

*from

temp

where

length(telno)=11

andregexp_like(telno,

'^13[[:digit:]]|^15[0|3|6|7|8|9][[:digit:]]|^(18[8|9])[[:digit:]]')

oracle正規表示式

在資料庫可直接執行下面語句,但在程式中不能執行,regexp like t.ipaddress,25 0 5 2 0 4 0 9 01 0 9 0 9 25 0 5 2 0 4 0 9 01 0 9 0 9 報錯有特殊字元 在句末再加乙個 改為 regexp like t.ipaddress,25 ...

oracle正規表示式

oracle 10g支援正規表示式的四個新函式分別是 regexp like regexp instr regexp substr 和regexp replace。它們使用posix 正規表示式代替了老的百分號 和萬用字元 字元。特殊字元 匹配輸入字串的開始位置,在方括號表示式中使用,此時它表示不接...

Oracle正規表示式

oracle中支援的正規表示式函式主要有下面四個 1.regexp like 與like的功能相似 2.regexp instr 與instr的功能相似 3.regexp substr 與substr的功能相似 4.regexp replace 與replace的功能相似 使用posix正規表示式代...