黑马程序员技术交流社区
标题:
SQL中varchar和nvarchar有什么区别?
[打印本页]
作者:
熊丽
时间:
2013-8-7 22:14
标题:
SQL中varchar和nvarchar有什么区别?
SQL中varchar和nvarchar有什么区别?
作者:
lvjayj
时间:
2013-8-7 22:45
varchar是 非Unicode 字符数据。
nvarchar是 Unicode 字符数据。
Unicode 是用两个字节表示每个字符的字符编码方案。所以如果存储的是英文,varchar能比nvarchar更省空间。
如果是中文就用nvarchar好些。
作者:
brucel50
时间:
2013-8-7 22:48
好像是nvarchar可以带中文字符,varchar不可以带中文字符
作者:
范国伟
时间:
2013-8-7 23:23
varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。
两字段分别有字段值:我和coffee
那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。
如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar
上面是一个总结介绍,通过上面的介绍,可以知道。
varchar(4) 可以输入4个字母,也可以输入两个汉字
nvarchar(4) 可以输四个汉字,也可以输4个字母,但最多四个
作者:
彭家贰小姐
时间:
2013-8-7 23:48
工作中 实际遇到过 一个问题
繁体库 如果是varchar的话 输入的若是 简体则是乱码 貌似是这个bug吧 后来就统一改成nvarchar了
作者:
高文咪
时间:
2013-8-8 09:05
varchar与nvarchar的相同点,在数据库中都代表字符类型;
区别:如果在程序设计中某字段的输入值可能会包含中文或其他除英文外的特殊字符,就用nvarchar,这样做可以避免存入数据库的字符乱码;
如果输入值中可以确定只是英文的输入,就可以直接用varchar;
以上仅是个人的理解,希望可以帮到你~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2