SQL 中的N'xx'的作用

有时候,我们会在SQL的语句中看到类似如下的语句:

SELECT O.id, U.name OWNER, O.name, O.type FROM xxx.dbo.sysobjects O LEFT JOIN xxx.dbo.sysusers U ON O.uid = U.uid WHERE (O.type = N'U' OR O.type = N'S' OR O.type = N'V') ORDER BY O.name

SELECT O.id, U.name OWNER, O.name, O.type FROM xxx.dbo.sysobjects O LEFT JOIN xxx.dbo.sysusers U ON O.uid = U.uid WHERE (O.type = 'U' OR O.type = 'S' OR O.type = 'V') ORDER BY O.name

上面2条语句的运行结果可能是完全相同的,注意到第一条语句中的字符前面的N,这里的N代表什么意思呢?

N的作用是确保后面的字符被看成是UNICODE编码的

"The N stands for National - the N converts the VARCHAR to a NVARCHAR, which is used to store unicode data, which is used to store multilingual data in your database tables."偶简单翻译如下:

N代表着National,它能将VARCHAR类型的字符转换成NVARCHAR类型的字符,被用于存储unicode数据,在数据库表中被用于存储多语言数据。

posted @ 2013-01-18 13:58  KingOfFreedom  阅读(578)  评论(0编辑  收藏  举报