ORACLE 數值正則表示式
阿新 • • 發佈:2019-02-14
--建立測試表 create table test_regexp( val varchar2(255) ); insert into test_regexp values('123'); insert into test_regexp values('-123'); insert into test_regexp values('123.123'); insert into test_regexp values('-123.123'); insert into test_regexp values('123L'); insert into test_regexp values('-123L'); insert into test_regexp values('123.123L'); insert into test_regexp values('-123.123L'); insert into test_regexp values(''); select * from test_regexp; --測試數值正則表示式 --整形正則 select val from test_regexp where regexp_like(val, '^(-?[0-9]+)(L)?$'); --浮點型正則 select val from test_regexp where regexp_like(val, '^(-?[0-9]+)\.[0-9]+(L)?$'); --數值正則 select val from test_regexp where regexp_like(val, '^(-?[0-9]+)(\.[0-9]+)?(L)?$');
regexp_like(char1, char2) 正則驗證: char1:欄位, char2:匹配字元(用正則表示)
與Java 中 字元型別的 matches(regex) 方法效果一樣