本文實例講述了SqlServer2016模糊匹配的三種方式及效率問題。分享給大家供大家參考,具體如下:
數據庫是Sqlserver 2016版
現在業務需求是:要查詢出企業名稱為以下幾個的,XXX,XXXX等等:
第一種方式:like '%XXX%' OR like '%XXXX%'
select cName from tAccountAuditing wherecNamelike '%測試moa000154%'ORcNamelike '%測試集團上海事業部%'and activeAuditingCodeFromJdjr = 1
第二種方式:PATINDEX('%XXX%',cName) > 0
select cName from tAccountAuditing where(PATINDEX('%測試moa000154%',cName) > 0ORPATINDEX('%測試集團上海事業部%',cName) > 0) and activeAuditingCodeFromJdjr = 1
第三種方式:CHATINDEX('XXX',cName) > 0
這里不要百分號的啊
select cName from tAccountAuditing where(CHARINDEX('測試moa000154',cName) > 0ORCHARINDEX('測試集團上海事業部',cName) > 0) and activeAuditingCodeFromJdjr = 1
效率上的話,后兩種比like都要好~
希望本文所述對大家SQL Server數據庫程序設計有所幫助。
新聞熱點
疑難解答