Oracle regexp_like的相关知识及使用示例是本文我们主要要介绍的内容,我们首先看一下Oracle中的支持正则表达式的函数,主要有下面四个: create table fzq id varchar(4), value varchar(10) --数据插入
- ^/ w0 `% j0 a4 o; Z insert into fzq values ('1','1234560');
- P& r* \; T3 _5 ^7 Z insert into fzq values ('2','1234560');0 } a, Q5 i) [" q" [
insert into fzq values ('3','1b3b560');
0 f& c5 n2 l# }3 i' a' z insert into fzq values ('4','abc');* I4 W$ A9 S0 k2 [4 X0 i
insert into fzq values ('5','abcde');
9 P; P% c5 B, p- M. Q9 P4 K9 Q) z insert into fzq values ('6','ADREasx');
1 k. U, E2 R6 \; G insert into fzq values ('7','123 45');# y8 ~1 R! F4 ~# M' h% o. g Y: ~( S
insert into fzq values ('8','adc de');' p k. K( ?$ T2 R
insert into fzq values ('9','adc,.de');
8 Z5 e" }( O7 m4 Z. q# ] insert into fzq values ('10','1B');
) v( n4 q- l7 H1 f- p6 ] insert into fzq values ('10','abcbvbnb');% c9 }+ G; j+ U- r
insert into fzq values ('11','11114560');
! @, Q( w$ T6 \- E9 B3 E insert into fzq values ('11','11124560');
9 k& b0 d; b+ w/ s5 L. y! }3 [ select * from fzq where value like '1____60';
+ B, c. J" {5 h) X# A$ k select * from fzq where regexp_like(value,'1…60');
' `: n# z$ S* j* c select * from fzq where regexp_like(value,'1[0-9]{4}60');
: v: q8 \' O0 F8 i0 f1 J# I$ e select * from fzq where regexp_like(value,'1[[:digit:]]{4}60');5 N3 u5 W1 C$ Z. V' ]8 {) t- z
select * from fzq where regexp_like(value,'^1[2B]');
! O# J$ a8 E/ z( c6 S3 N0 y5 l4 a select * from fzq where regexp_like(value,'[[:space:]]');
Y/ m5 Q1 F0 s7 P- _. v( R2 p* y select * from fzq where regexp_like(value,'^([a-z]+|[0-9]+)$');
. A% |% {. F6 b# a select * from fzq where regexp_like(value,'[[:punct:]]');
7 Z& z: @ v% u+ u3 n6 E create or replace$ B3 y0 d; c7 W# k3 R# u" j. Q6 ]
FUNCTION CheckName(NameStr in VARCHAR2)7 U, Z9 a* B- g0 B/ i2 y
RETURN integer As BEGIN --符合返回1," D9 o* ?0 R x
不符合返回0" b/ v8 c h0 V3 B( h; z2 O% P
if(NameStr is null or length(NameStr) |