A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 朱磊 于 2011-12-31 16:58 编辑

{:soso_e121:}

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

4 个回复

倒序浏览
张涛 黑马帝 2011-12-31 13:28:13
沙发
  1.从存储方式上,nvarchar是按字符存储的,而 varchar是按字节存储的;

      2.从存储量上考虑, varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;

      3.在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;

      4.如果你做的项目可能涉及不同语言之间的转换,建议用nvarchar。

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
可以简单的认为char是字符,比如char(5)只允许输入5个字节;
varchar是字符串,比如varchar(10)只允许输入10个字符;
nvarchar是含有中文字符的字符串,他也是有长度的。。。

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
4.        nvarchar(含有非ASIC码信息,比如中文,日文等等)和varchar定义数据不确定的,数据确定的用char,不足长度n的部分会用空格填充;

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
简单的说:
char存储的是字符类型的数据,是一个个的字符,是定长的,如表中的一个字段定义为name  char (10),这时如果name的字母个数小于10个时,系统会用空格填充剩下的空间。
而varchar和nvarchar表示的字符串,可以是变长的,即它所占的空间随着字符串的长度变化而变化。
varchar和nvarchar的唯一区别就是,若存储的内容包含中文等非英文字母时用nvarchar,以防止乱码的出现。

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马