日期:2014-05-19  浏览次数:20527 次

这条SQL 语句怪怪的!!!
SELECT   *   FROM       master..sysdatabases   WHERE     name   =   N 'Flight '

中的N 'Flight '   的N是什么意思啊?

------解决方案--------------------
Unicode
------解决方案--------------------
查找数据库名叫 Flight 的信息
------解决方案--------------------
N表示Unicode的含义,就象类型中有varchar和nvarchar一样,一个Unicode字符占两个字节.使用N '的情况主要是在双字节系统环境中强制系统对每个字符用Unicode标准来解释,否则如果你的数据库.mdf文件是中文名而又不加N '的话,数据库加载后名称可能就变成乱码,因为系统按单字节处理字符造成
------解决方案--------------------
nchar
nvarchar
ntext

说明 这些数据类型的前缀 n 来自 SQL-92 标准中的 National (Unicode) 数据类型。

nchar、nvarchar 和 ntext 的用法分别与 char、varchar 和 text 的用法一样,但在以下方面不同:
Unicode 支持的字符范围更大。
存储 Unicode 字符所需要的空间更大。
nchar 和 nvarchar 列最多可以有 4,000 个字符,而不像 char 和 varchar 字符那样可以有 8,000 个字符。
Unicode 常量使用 N 开头来指定:N 'A Unicode string '。
所有 Unicode 数据都使用相同的 Unicode 代码页。排序规则不控制用于 Unicode 列的代码页,仅控制比较规则和是否区分大小写等特性。