黑马程序员技术交流社区
标题:
update更新数据
[打印本页]
作者:
杨曾荣
时间:
2012-3-16 20:46
标题:
update更新数据
平时使用数据操作更新数据赋值的时候,直接就一个“=”后面用单引号把中文字符给括起来就完事了,
比如更新一个人的名字:update tbl_person set name='黑马学员' where id=2。老师却说在中文字符前最好加个N防止出错,也就是name=N'黑马学员',那这个N有什么用,之前学的数据库都没有听说过。
作者:
方杰
时间:
2012-3-16 22:59
这要从varchar和nvarchar 2种类型说起:
varchar采用非Unicode字符集,在这里面英文为1个字节,中文为2个,如我是aa , 在里面就6个长度。
nvarchar 采用Unicode字符集,在这里不管英文还是中文,都是2个字节,适用于特殊字符和中文,如如我是aa , 在里面就8个长度.
如果一个字段设为 varchar ,插入中文时,一定的条件下会出现乱码,
所以中文一般用nvarchar 。
在插入的前面加上N这条,反正我到现在都没加,而且都没出错过。
作者:
何圣东
时间:
2012-3-17 00:28
以防万一,最好还是加上这个'N'
作者:
徐振升
时间:
2012-3-17 09:44
表示该字符串采用Unicode方式编码
( 数据类型的前缀 N来自 SQL-92 标准中的 National (Unicode) 数据类型。
nchar、nvarchar 和 ntext 的用法分别与 char、varchar 和 text 的用法一样,但在以下方面不同:
1.Unicode 支持的字符范围更大。
2.存储 Unicode 字符所需要的空间更大。
3.nchar 和 nvarchar 列最多可以有 4,000 个字符,而不像 char 和 varchar 字符那样可以有 8,000 个字符。
4.Unicode 常量使用 N 开头来指定:N 'A Unicode string '。
所有 Unicode 数据都使用相同的 Unicode 代码页。排序规则不控制用于 Unicode 列的代码页,仅控制比较规则和是否区分大小写等特性。
)
作者:
刘亚中
时间:
2012-3-17 13:52
在用mssql企业管理器或者vs20XX的数据库管理工具,当你向一个表里新建一个中文字符的时候,会自动在你的字符串前+N,这个也可以自己配置!
作者:
杨曾荣
时间:
2012-3-18 13:57
方杰 发表于 2012-3-16 22:59
这要从varchar和nvarchar 2种类型说起:
varchar采用非Unicode字符集,在这里面英文为1个字节,中文为2个, ...
之前都是比较喜欢用varchar,一直看nvarchar 都不顺眼,原来nvarchar 有这么好的用途,受教了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2