我看到别人写的存储过程里,在'号前面加个N是什么意思?有什么作用?
我查到是表示nchar ,nvarchar ,unicode 编码,那又有什么用?不加不行么?
--------
set @SQLFields = N'ID,Data,ConfID,Nums,ChannelNo,StartTime,MaxMebs,ConfOpen,listennums,confpass,ConfName,ConfAdminID'
我查到是表示nchar ,nvarchar ,unicode 编码,那又有什么用?不加不行么?
--------
set @SQLFields = N'ID,Data,ConfID,Nums,ChannelNo,StartTime,MaxMebs,ConfOpen,listennums,confpass,ConfName,ConfAdminID'
解决方案 »
- 表太多,分成多个数据库对性能有何影响?
- 不忙的进来帮下小弟``关于联合后去重复项```
- 如何用vb调用服务器建立好的dts
- 如何減少死鎖?
- 集思广意,菜不菜都进来,相信你会有高见!
- 更新触发器时间
- SQL server 中自己设置的登陆名,登陆后为什么在自己设置的登陆名下的数据库无法访问
- 字段类型为CHAR时,添加新记录后,数值的长度总是与类型的长度相同的。
- 操作系统:WinXP ,SQL Server 2000 仅客户端工具,错误如下:
- 如何能够把一个vfp表写坏!这里说的坏就是不能读了!!然后如何通过odbc使用共享的方式访问vfp!!
- 急~~求一SQL语句,记事本导入数据库
- 怎样知道数据库中表数据的修改时间
作为统一的转换字符集标准,
不加的话,有时候会出现异常情况.
特别是非英语的语种,
可能会出现乱码
Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储.
Why do some SQL strings have an 'N' prefix.
http://databases.aspfaq.com/general/why-do-some-sql-strings-have-an-n-prefix.html
------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CS_SP_TS_WriteTalkingStatus]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[CS_SP_TS_WriteTalkingStatus]
GO
EXEC sp_ExecuteSQL N'select 1'
魁北克使用的法语名称和地址
加拿大其余地区和美国使用的英语名称和地址
当只使用字符列和代码页时,必须小心以确保与数据库一起安装的代码页能处理所有这三种语言的字符。另外,还必须小心保证当运行某种语言的代码页的客户端读取另一种语言的字符时,能够正确转换字符。随着 Internet 的发展,支持运行着不同区域设置的众多客户端计算机变得更加重要。但很难为支持世界范围的读者所需的所有字符的字符数据类型选择代码页。管理国际化数据库中的字符数据的最简单方法是始终使用 Unicode nchar、nvarchar 和 ntext 数据类型,而不是使用相应的非 Unicode 数据类型(char、varchar 和 text)。 Unicode 是一种将码位映射到字符的标准。由于它的设计中涵盖世界上所有语言的全部字符,因此不需要不同的代码页来处理不同的字符集。SQL Server 2005 支持 Unicode 标准 3.2 版。如果所有使用国际化数据库的应用程序也采用 Unicode 变量而不是非 Unicode 变量,那么在系统中的任何地方都无需进行字符转换。客户端与所有其他客户端看到的数据中的字符相同。SQL Server 2005 将所有文字系统目录数据存储在包含 Unicode 数据类型的列中。数据库对象(如表、视图和存储过程)的名称存储在 Unicode 列中。这样就可以只使用 Unicode 来开发应用程序,从而有利于避免所有代码页转换问题。如繁体系统输入简体字时
insert T select N'简体字'--不加N时会变为?号
汉字 占两个字节的