写sql时有时候会遇到and后面多个or相连的查询条件,如下:
select * from table
where 1 = 1
and (字段 like '字符串1'or 字段 like '字符串2'or ...)
出现这种情况时,我们可以使用下面这种解决方案:
and REGEXP_LIKE(字段名, '(字符串1|字符串2|...)') //全模糊匹配
and REGEXP_LIKE(字段名, '^(字符串1|字符串2|...)') ";//右模糊匹配
and REGEXP_LIKE(字段名, '(字符串1|字符串2|...)$') ";//左模糊匹配