SqlServer 2016のあいまいなマッチングの3つの方式と効率の問題の簡単な分析
1289 ワード
この例では、SqlServer 2016のファジイマッチングの3つの方法と効率の問題について説明する.皆さんの参考にしてください.具体的には以下の通りです.
データベースはSqlserver 2016版
現在の業務ニーズは、企業名が以下の通りであること、XXX、XXXXなどである.
1つ目の方法:
2つ目の方法:
3つ目の方法:
効率的には、後の2種類がlikeよりも良い~
SQL Serverに関する詳細について興味のある読者は、「SQL Serverクエリー操作テクニック大全」、「SQL Server日付と時間操作テクニック総括」、「SQL Serverストレージプロセステクニック大全」、「SQL Serverインデックス操作テクニック大全」および「SQL Server常用関数要約」を参照してください.
本明細書では、SQL Serverデータベースのプログラム設計に役立つことを説明します.
データベースはSqlserver 2016版
現在の業務ニーズは、企業名が以下の通りであること、XXX、XXXXなどである.
1つ目の方法:
like '%XXX%' OR like '%XXXX%'
select cName from tAccountAuditing where
cName
like '% moa000154%'
OR
cName
like '% %'
and activeAuditingCodeFromJdjr = 1
2つ目の方法:
PATINDEX('%XXX%',cName) > 0
select cName from tAccountAuditing where
(
PATINDEX('% moa000154%',cName) > 0
OR
PATINDEX('% %',cName) > 0
) and activeAuditingCodeFromJdjr = 1
3つ目の方法:
CHATINDEX('XXX',cName) > 0
ここはパーセンテージを必要としません
select cName from tAccountAuditing where
(
CHARINDEX(' moa000154',cName) > 0
OR
CHARINDEX(' ',cName) > 0
) and activeAuditingCodeFromJdjr = 1
効率的には、後の2種類がlikeよりも良い~
SQL Serverに関する詳細について興味のある読者は、「SQL Serverクエリー操作テクニック大全」、「SQL Server日付と時間操作テクニック総括」、「SQL Serverストレージプロセステクニック大全」、「SQL Serverインデックス操作テクニック大全」および「SQL Server常用関数要約」を参照してください.
本明細書では、SQL Serverデータベースのプログラム設計に役立つことを説明します.