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

作者&投稿:拓缸 (若有异议请与网页底部的电邮联系)
sql server存储过程中的“N”是什么意思?~

N '字符串'
意思是, 后面的内容, 数据类型为 NChar 或者是 NVarchar.

使用 N 前缀

在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。即使所引用的列已定义为
Unicode 类型,也应如此。如果不使用 N 前缀,字符串将转换为数据库的默认代码页。这可能导致不识别某些字符。

例如,在前面示例中创建的存储过程可以按以下方式在服务器上执行:

复制代码

EXECUTE Product_Info @name = N'Chain'

使用 N 前缀的要求适用于在服务器上生成的和客户端发送的字符串常量。

字母 N 为前缀标识 Unicode 字符串常量





在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。
即使所引用的列已定义为 Unicode 类型,也应如此。
如果不使用 N 前缀,字符串将转换为数据库的默认代码页。
这可能导致不识别某些字符。

例如,在前面示例中创建的存储过程可以按以下方式在服务器上执行:

EXECUTE Product_Info @name = N'Chain'使用 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



加上 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 字符串常量支持增强的排序规则。

使用N作为前缀表示你上面语句中的name的数据类型是Unicode字符串类型;
例如N'sdaf' 是Unicode常量,而'sdaf'是字符窜常量;对于字符数据,存储Unicode数据时每个字符使用2个字节,而不是每个字符1个字节。

存储跟数据库服务器的语言环境不一样的字符的时候用的。
存储这种字符的字段类型应该是 nchar 或者 nvarchar

其中的N是代表以Unicode格式存储的,但你上面那句”WHERE name=N'sdaf' “的意思是不变的,还是当名字等于sdaf时如何如何,只是数据库中表的sdaf的存储方式也应为Unicode格式的就可以^^


全椒县15544605985: sql server存储过程中的N是什么意思呢? -
别放百畅: N '字符串' 意思是, 后面的内容, 数据类型为 NChar 或者是 NVarchar.使用 N 前缀在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀.即使所引用的列已定义为 Unicode 类型,也应如此.如果不使用 N 前缀,字符串将转换为数据库的默认代码页.这可能导致不识别某些字符.例如,在前面示例中创建的存储过程可以按以下方式在服务器上执行:复制代码EXECUTE Product_Info @name = N'Chain'使用 N 前缀的要求适用于在服务器上生成的和客户端发送的字符串常量.

全椒县15544605985: sql中 N 的作用 -
别放百畅: 加上 N 代表存入数据库时以 Unicode 格式存储.N'string' 表示string是个Unicode字符串 Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language)).N 前缀必须是大写字母...

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

全椒县15544605985: SQLServer的N用户版中的N是什么意思 -
别放百畅: 加上 N 代表存入数据库时以 Unicode 格式存储.N'string' 表示string是个Unicode字符串

全椒县15544605985: sql server nvarchar(n) 里面的n值定义为多少. -
别放百畅: 行的 nvarchar() 跟char()的区别其实也在这 如果是 char(50) 就会直接占用50个字符 不管你用完没,例如'abc' 一样是占用50个字符 而varchar 和nvarchar 会根据时间存储字符分配存储空间 ,这时的50 只是对最大长度的限定 这时'abc' 只占用3个字符的存储空间 可以查些数据库 的数据类型资料 了解更多

全椒县15544605985: sql语句什么情况下使用N前缀 -
别放百畅: N--unicode 当字符类型为nchar/nvarchar/ntext时 有特殊字符存在时,或排序规则不一样:如:简体SQL查繁体字 需要用N'繁体字'来源引用: http://wenwen.sogou.com/z/q761589518.htm

全椒县15544605985: sql语句中N是什么意思>?
别放百畅: 当某个字段的nvarchar类型的话,在更新或写入文字时N'文字'可以防止文字出现乱码!

全椒县15544605985: 将数据库文件附加到SQL Server系统中的参数 N'是什么意思?
别放百畅: 字母 N 为前缀标识 Unicode 字符串常量 在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀. 即使所引用的列已定义为 Unicode 类型,也应如此. 如果不使用 N 前缀,字符串将转换为数据库的默认代码页. 这可能导致不识别某些字符. 例如,在前面示例中创建的存储过程可以按以下方式在服务器上执行: EXECUTE Product_Info @name = N'Chain'使用 N 前缀的要求适用于在服务器上生成的和客户端发送的字符串常量.

全椒县15544605985: 将数据库文件附加到SQLServer系统中的参数N'是什么意思
别放百畅: 字符串前加N代表unicode编码相当于nvarchar因为体系内部编码是unicode所以标准输入应当加N然则就像varchar跟nvarchar的字符可以相等一样不加也可以

全椒县15544605985: Microsoft OLE DB Provider for SQL Server 错误 '80040e21' -
别放百畅: 原因: 这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录 没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说) 检查文件和目录的权限. 确定你能够在该目录...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网