1. 程式人生 > 資料庫 >SqlServer2016模糊匹配的三種方式及效率問題簡析

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資料庫程式設計有所幫助。