現象
Microsoft SQL Server 2008 R2、SQL Server 2012、または SQL Server 2014 の照合順序 Japanese_XJIS_100_CI_AS を使用して、LIKE 演算子を含むステートメントを実行することを前提とします。 LIKE パターンに日本語の繰り返し文字 ' ー ' (長音) があります。 ステートメントを実行すると、一致しないパターンを処理することができます。 たとえば、次のステートメントを実行すると、N'BA ー1 ' は N '% AB1 ' と一致しません。
if (N'BAー1' like N'%AB1%' Collate Japanese_XJIS_100_CI_AS)print 'Japanese_XJIS_100_CI_AS : BAー1 like %AB1% --> match'
結果が照合されます。
原因
この問題は、日本語の繰り返し文字が正しく処理されないために発生します。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP2 の累積更新プログラム2 /en-us/help/2983175
SQL Server 2012 SP1 の累積更新プログラム12 /en-us/help/2991533
SQL Server 2014 の累積更新プログラム3 /en-us/help/2984923
SQL Server 2008 R2 SP2 の累積更新プログラム13 /en-us/help/2967540
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。