varchar 和 nvarchar 的区别和使用
区别:
1.nvarchar 不管是一个字符还是一个汉字,都存为2个字节。varchar 汉字是两个字节,其它字符为1个字节。
2.nvarchar(n):包含n个字符的可变长度Unicode字符数据。n的值必须介于1与4000之间,字节的存储大小事所输入字符个数的两倍。所输入的数据字符长度可以为零
varchar(n):长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8000之间的数值。存储大小为输入的数据的字节的实际大小,而不是n个字节。所输入的数据字符长度可以为零。
使用:1.从存储量上考虑,varchar比较节省空间,因为存储大小为字节的实际长度,而nvarchar是双字节存储。
2.在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议是用varchar,含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的 字符编码标准,会减少乱码的出现几率。
3.从存储方式上,nvarchar是按字符存储,而varcahr是按字节存储的。
例子说明:一个汉字占varchar(2),只占nvarchar(1)
而字母只占varchar(1),占nvarchar(1).
Goals determine what you are going to be!