写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|...)$') ";//左模糊匹配

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐