SQL查询和Unicode问题

时间:2011-02-03 14:37:58

标签: sql sql-server tsql unicode collation

我对unicode数据的Sql查询有一个非常奇怪的问题。这就是我所拥有的:

  • Sql Server Express 2008 R2 AS
  • 包含中文字符/单词/短语(100,000行)
  • 的表格

当我运行以下命令时,我得到正确的行+其他36行返回...当它应该只是一行时:

SELECT TOP 1000 [ID]
      ,[MyChineseColumn]
      ,UNICODE([MyChineseColumn])
  FROM [dbo].[MyTableName]
  WHERE [MyChineseColumn]= N'㐅'

正如您所期望的那样,会返回包含的行,但也会返回以下内容:以及其他一些...

任何人都有任何想法在这里发生了什么?这真让我感到困惑,我不知道如何解决这个问题(已经尝试过“谷歌搜索”)......

由于

2 个答案:

答案 0 :(得分:1)

请检查该列是否使用了适当的中文排序规则,因为这将确定此类比较中使用的语义。

答案 1 :(得分:0)

您可能想尝试使用二进制排序规则,这些字符似乎在某种程度上匹配为相同(可能忽略大小写和/或重音,具体取决于使用的排序规则)。