SqlServer2016模糊匹配的三種方式及效率問題簡析
阿新 • • 發佈:2020-01-09
本文例項講述了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資料庫程式設計有所幫助。