Oracle正規表示式取得所有非匹配的查詢結果

2022-01-29 13:08:34 字數 426 閱讀 5373

原文:

-- 不是數字

select * from dual where

not regexp_like('1不是數字1', '^[0-9]+\.[0-9]*$')

-- 是數字

select * from dual where

regexp_like('1.1', '^[0-9]+\.[0-9]*$')

應用場景分析:

今天要處理中間庫資料不符合格式要求的資料,很自然的想到了正規表示式

在網上查到了regexp_like函式,可以很方便的查詢出符合格式要求的資料

可是怎麼查詢不匹配正則的資料呢?

正則不支援多個字元取非,問題變得糾結了

蒐羅了半天,終於找到了上面的稻草

oracle 正規表示式

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 ...

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 正規表示式代替了老的百分號 和萬用字元 字元。特殊字元 匹配輸入字串的開始位置,在方括號表示式中使用,此時它表示不接...