黑马程序员技术交流社区
标题:
谁能说明:在 MS SQL Server 中 char、varchar、nvarchar 三者的区别
[打印本页]
作者:
朱磊
时间:
2011-12-31 12:56
标题:
谁能说明:在 MS SQL Server 中 char、varchar、nvarchar 三者的区别
本帖最后由 朱磊 于 2011-12-31 16:58 编辑
{:soso_e121:}
作者:
张涛
时间:
2011-12-31 13:28
1.从存储方式上,nvarchar是按字符存储的,而 varchar是按字节存储的;
2.从存储量上考虑, varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;
3.在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;
4.如果你做的项目可能涉及不同语言之间的转换,建议用nvarchar。
作者:
独孤飞雪
时间:
2011-12-31 13:58
可以简单的认为char是字符,比如char(5)只允许输入5个字节;
varchar是字符串,比如varchar(10)只允许输入10个字符;
nvarchar是含有中文字符的字符串,他也是有长度的。。。
作者:
傅涌钦
时间:
2011-12-31 14:05
4. nvarchar(含有非ASIC码信息,比如中文,日文等等)和varchar定义数据不确定的,数据确定的用char,不足长度n的部分会用空格填充;
作者:
井路静
时间:
2011-12-31 14:07
简单的说:
char存储的是字符类型的数据,是一个个的字符,是定长的,如表中的一个字段定义为name char (10),这时如果name的字母个数小于10个时,系统会用空格填充剩下的空间。
而varchar和nvarchar表示的字符串,可以是变长的,即它所占的空间随着字符串的长度变化而变化。
varchar和nvarchar的唯一区别就是,若存储的内容包含中文等非英文字母时用nvarchar,以防止乱码的出现。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2