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格式的就可以^^
别放百畅: 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根本就没有目录权限这一说) 检查文件和目录的权限. 确定你能够在该目录...