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