SqlServer2016模糊匹配的三种方式及效率问题简析

本文实例讲述了sqlserver2016模糊匹配的三种方式及效率问题。分享给大家供大家参考,具体如下:

数据库是sqlserver 2016版

现在业务需求是:要查询出企业名称为以下几个的,xxx,xxxx等等:

第一种方式like '%xxx%' or like '%xxxx%'

select cname from taccountauditing where
cname
like '%测试moa000154%'
or
cname
like '%测试集团上海事业部%'
and activeauditingcodefromjdjr = 1

第二种方式patindex('%xxx%',cname) > 0

select cname from taccountauditing where
(
patindex('%测试moa000154%',cname) > 0
or
patindex('%测试集团上海事业部%',cname) > 0
) and activeauditingcodefromjdjr = 1

第三种方式chatindex('xxx',cname) > 0   这里不要百分号的啊

select cname from taccountauditing where
(
charindex('测试moa000154',cname) > 0
or
charindex('测试集团上海事业部',cname) > 0
) and activeauditingcodefromjdjr = 1

效率上的话,后两种比like都要好~

更多关于sql server相关内容感兴趣的读者可查看本站专题:《sql server查询操作技巧大全》、《sql server日期与时间操作技巧总结》、《sql server存储过程技巧大全》、《sql server索引操作技巧大全》及《sql server常用函数汇总》

希望本文所述对大家sql server数据库程序设计有所帮助。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐