SELECT TOP 100 *
FROM sysobjects
WHERE (type IN(N'U',N'S'))sysobjects是SQLSERVER数据库的一个系统表。我想问的是,查询条件里的N是什么意思??我去掉N,使用如下查询语句
SELECT TOP 100 *
FROM sysobjects
WHERE (type IN('U','S'))得到的查询结果完全相同请问这个N有什么作用吗?是SQLSERVER里独有的语法吗?

解决方案 »

  1.   

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

  2.   

    谢谢各位!
    请问除了N之外,SQLSERVER里还有类似的关键字吗?
    哪里有关于各种关键字详细的用法说明呢?
      

  3.   

    http://man.chinaunix.net/database/postgresql_8.0_CN/sql-keywords-appendix.html