KB2977312 - 修正:當您使用 LIKE 模式來比對 SQL Server 中的 Cho-On) (日文重複字元時,結果不正確

套用到
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

症狀

假設在 Microsoft SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中執行的陳述式包含定序Japanese_XJIS_100_CI_AS的 LIKE 運算子。 LIKE 圖案中的 Cho-On) (有一個日語重複字元「ー」。 當您執行陳述式時,不相符的 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 /zh-tw/help/2983175

SQL Server 2012 SP1 的累積更新 12 /zh-tw/help/2991533

SQL Server 2014 累積更新 3 /zh-tw/help/2984923

SQL Server 2008 R2 SP2 的累積更新 13 /zh-tw/help/2967540

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

      

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。