我建了一张表有两列如下
列名    类型
aaa    nvarchar(50)
bbb    int表中有数据两行如下
aaa     bbb中国     323
eee     322我建立查询语句如下
SELECT     bbb
FROM         Table_2
WHERE     (aaa = 'eee')
返回正常结果  322又建立查询语句如下
SELECT     bbb
FROM         Table_2
WHERE     (aaa = '中国')
无结果哪个高手能告诉我这是怎么回事啊

解决方案 »

  1.   

    有空格、换行符没?TRY:SELECT    bbb
    FROM        Table_2
    WHERE    (aaa = N'中国') 
      

  2.   

    不知道SQL里面的大小写到底在哪些情况下要区分,可不可以简单说说啊
      

  3.   

    N表示unicode字符串,必须大写
      

  4.   

    加上 N 代表存入数据库时以 Unicode 格式存储。 
    N'string' 表示string是个Unicode字符串 Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。N 前缀必须是大写字母。例如,'Michél' 是字符串常量而 N'Michél' 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行计算。Unicode 常量确实有排序规则,主要用于控制比较和区分大小写。为 Unicode 常量指派当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。Unicode 数据中的每个字符都使用两个字节进行存储,而字符数据中的每个字符则都使用一个字节进行存储。有关更多信息,请参见使用 Unicode 数据。 Unicode 字符串常量支持增强的排序规则