sql server中,N''表示什么意思?

有时看见语句:
WHERE name=N'sdaf'
其中,N''是什么意思?

加上 N 代表存入数据库时以 Unicode 格式存储。

N'string' 表示string是个Unicode字符串

Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。N 前缀必须是大写字母。例如,'Michél' 是字符串常量而 N'Michél' 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行计算。Unicode 常量确实有排序规则,主要用于控制比较和区分大小写。

Unicode 字符串常量支持增强的排序规则。

扩展资料:

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

通用字符集(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字符集。UCS-2用两个字节编码,UCS-4用4个字节编码。

历史上存在两个独立的尝试创立单一字符集的组织,即国际标准化组织(ISO)和多语言软件制造商组成的统一码联盟。前者开发的 ISO/IEC 10646 项目,后者开发的统一码项目。因此最初制定了不同的标准。

参考资料来源:百度百科-Unicode

参考资料来源:百度百科-SqlServer

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-06
加上 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 字符串常量支持增强的排序规则。本回答被提问者采纳
第2个回答  2009-02-13
使用N作为前缀表示你上面语句中的name的数据类型是Unicode字符串类型;
例如N'sdaf' 是Unicode常量,而'sdaf'是字符窜常量;对于字符数据,存储Unicode数据时每个字符使用2个字节,而不是每个字符1个字节。
第3个回答  2009-02-13
存储跟数据库服务器的语言环境不一样的字符的时候用的。
存储这种字符的字段类型应该是 nchar 或者 nvarchar
第4个回答  2009-02-13
其中的N是代表以Unicode格式存储的,但你上面那句”WHERE name=N'sdaf' “的意思是不变的,还是当名字等于sdaf时如何如何,只是数据库中表的sdaf的存储方式也应为Unicode格式的就可以^^

sql server中,N''表示什么意思?
加上N代表存入数据库时以Unicode格式存储。N'string'表示string是个Unicode字符串 Unicode字符串的格式与普通字符串相似,但它前面有一个N标识符(N代表SQL-92标准中的国际语言(NationalLanguage))。N前缀必须是大写字母。例如,'Michél'是字符串常量而N'Michél'则是Unicode常量。Unicode常量被解释为Unico...

sql server存储过程中的N是什么意思呢?
N '字符串'意思是, 后面的内容, 数据类型为 NChar 或者是 NVarchar.使用 N 前缀 在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。即使所引用的列已定义为 Unicode 类型,也应如此。如果不使用 N 前缀,字符串将转换为数据库...

在sql server 数据库字段中如何加入回车符和换行符?
回答:文本文件的行结束符,传统上PC机 用 CRLF苹果机用CRunix 用 LFCR -- 回车符,c语言'\\r'LF -- 换行符, c语言'\\n'不同计算机上c语言统一规定为:文本文件的行结束符一律变成一个符号LF,也就是换行符,也就是new line符, 也就是'\\n'.“回车和换行符转换成一个换行符”-- 对PC机而言,文...

SQL SERVER字符串前加N,什么含义
N'xxx' 标识将单引号中的xxx强制转换为Unicode编码的字符,不用在中文情况下会出现乱码.因为在英文中常用的是ASCII码(一个字符占一个字节),而我们用的中文一个汉字就要占两个字节所以要用N'xxx'强制转换为Unicode编码的字符,这样单引号中不管是英文字符还是汉字一个都占两个字节,统一起来,不会出现乱码...

sql server varchar和nvarchar的区别?
SQL SERVER中生成的语句中,字符串前加N。N 前缀必须是大写字母。是Unicode编码的意思,一般来说,英文字符是一个字节组成,但是国际上的字太多了,因此就用两个字节来表示字符,满足国际化的需要.在字符串前面加上 N 代表存入数据库时以 Unicode 格式存储。N'string' 表示string是个Unicode字符串 Unicode...

在SQL Server中 输出语句print N'更新成功'中print后面的N是什么意思...
字符串前面放N,表示该字符串是unicode编码。但注意:首先应该是大写的N,小写不对。其次N应该放在字符串之前,即N后面紧接着单引号,不能有空格。所以这段代码应该改成这样:declare @errorvar intuse testdbupdate student set sex='男' where stu_id='6464546'set @errorvar =@@errorif @error...

sql插入数据时 N 什么意思
表示是Unicode的字符串 你可以看出SQL Server会把支持Unicode类型的数据类型命名为Nchar(),Nvarchar(),Ntext

sql server sp_executesql N'select * from tableName' --N代表什 ...
N代表unicode字符串, 字段类型的 nchar 和 char , nvarchar和varchar, 前面的n一个意思. 当字符串里有特殊字符(比如中文日文韩文)时需要加n以指定是unicode字符串, 你上面的例子里面加不加都一样

将数据库文件附加到SQL Server系统中的参数 N’是什么意思?_百度...
filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表还必须包括数据库分离后所有被移动的文件。返回代码值:0(成功)或 1(失败)eg...

如何在SQL Server中使用正则表达式
'n' (.)点号能表示所有单个字符,包括换行(俺还不知道什么地方有用到换行.只知道sql里面可以用chr(10)表示换行、'm' 字符串存在换行的时候当作多行处理.这样$就可匹配每行的结尾.不然的话$只匹配字符串最后的位置、示例:select * from emp where regexp_like(ename,'^a[a-z]*n$');...

相似回答