徵狀
假設您在 Microsoft SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中,執行包含 LIKE 運算子與排序規則 Japanese_XJIS_100_CI_AS 的語句。 [LIKE] 模式中有一個日文重複字元「ー」(Cho)。 當您執行語句時,可能會將不相符的 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 的最新累計更新:
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。