数据库是sqlserver 2016版
现在业务需求是:要查询出企业名称为以下几个的,XXX,XXXX等等:
第一种方式:like '%XXX%' OR like '%XXXX%'
select cname from tAccountAuditing where cnamelike '%测试moa000154%' ORcnamelike '%测试集团上海事业部%' and activeAuditingCodeFromJdjr = 1
第二种方式: PATINDEX('%XXX%',cname) > 0
select cname from tAccountAuditing where (PATINDEX('%测试moa000154%',cname) > 0 ORPATINDEX('%测试集团上海事业部%',cname) > 0 ) and activeAuditingCodeFromJdjr = 1
第三种方式: CHATINDEX('XXX',cname) > 0 这里不要百分号的啊
select cname from tAccountAuditing where (CHARINDEX('测试moa000154',cname) > 0 ORCHARINDEX('测试集团上海事业部',cname) > 0 ) and activeAuditingCodeFromJdjr = 1
效率上的话,后两种比like都要好~
@H_502_2@ 总结以上是内存溢出为你收集整理的SqlServer 2016模糊匹配的几种方式和效率问题全部内容,希望文章能够帮你解决SqlServer 2016模糊匹配的几种方式和效率问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)