我对unicode数据的Sql查询有一个非常奇怪的问题。这就是我所拥有的:
当我运行以下命令时,我得到正确的行+其他36行返回...当它应该只是一行时:
SELECT TOP 1000 [ID]
,[MyChineseColumn]
,UNICODE([MyChineseColumn])
FROM [dbo].[MyTableName]
WHERE [MyChineseColumn]= N'㐅'
正如您所期望的那样,会返回包含㐅
的行,但也会返回以下内容:〇
,宁
,㮸
以及其他一些...
任何人都有任何想法在这里发生了什么?这真让我感到困惑,我不知道如何解决这个问题(已经尝试过“谷歌搜索”)......
由于
答案 0 :(得分:1)
请检查该列是否使用了适当的中文排序规则,因为这将确定此类比较中使用的语义。
答案 1 :(得分:0)
您可能想尝试使用二进制排序规则,这些字符似乎在某种程度上匹配为相同(可能忽略大小写和/或重音,具体取决于使用的排序规则)。