5

Sql-Server 2008 R2照合はChinese_Simplified_Pinyin_100_CI_AS. 私が使うとき

select 1 where N'⑦' = N'7'

1を出力しましたが、演算子を次のように変更するとlike

select 1 where N'⑦' like N'7'

何も出力しません。

likeオペレーターの行動はなぜそんなに変なのですか?私は何か見落としてますか?

4

1 に答える 1

1

バグのようです。LIKEワイルドカードのないパターンに対しては、常に同じものを=返す必要があります。

他のユーザーは、次のクエリを実行してこの動作を確認できます。

SELECT
   CASE WHEN N'⑦' COLLATE Chinese_Simplified_Pinyin_100_CI_AS = N'7' THEN 'Y' ELSE 'N' END,
   CASE WHEN N'⑦' COLLATE Chinese_Simplified_Pinyin_100_CI_AS LIKE N'7' THEN 'Y' ELSE 'N' END
-- Y N

Microsoft Connect で報告されたようです。

于 2012-07-20T18:09:53.507 に答える