Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

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

时 间:2018-07-25 10:32:43
作 者:宏鹏   ID:21115  城市:上海
摘 要:这篇文章主要介绍了SqlServer2016模糊匹配的三种方式及效率问题,结合实例形式简单对比分析了SQL Server2016使用like语句、PATINDEX及CHATINDEX三种方式进行模糊匹配的相关使用方法及执行效率,需要的朋友可以参考下
正 文:

本文实例讲述了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都要好~



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助