在写Oracle查询的时候,会遇到字段模糊条件查询,并且是多条件的。
这个时候,可以运用正则表达是来进行查询。
一般情况是这样的。
貌似这样都是查不出数据的!
select * from imaa_t where imaa001 like 'A%'
or imaa001 like 'B%' or imaa001 like 'C% '
and imaaent=22 and imaa004='A'
REGEXP_LIKE(字段名, '(匹配串1|匹配串2|...)') //全模糊匹配
REGEXP_LIKE(字段名, '^(匹配串1|匹配串2|...)') ";//右模糊匹配
REGEXP_LIKE(字段名, '(匹配串1|匹配串2|...)$') ";//左模糊匹配
举例说明下:
--查找系统没有旧料号的物料 要查1、2、4、10开头的料号
select imaa001,imaaud001,imaal003,imaal004 from imaa_t
left join imaal_t on imaal001=imaa001 and imaalent=imaaent
where imaaent=22
and regexp_like(imaa001,'^(1|2|4|10)') and imaaud001 is null
网友评论