sqlserver中varchar、nvarchar的区别

   nvarchar [ ( n | max ) ]

可变长度的 Unicode 字符串数据。 n 用于定义字符串长度,并且它可以为 1 到 4,000 之间的值。 max 指示最大存储大小是 2^31-1 个字节 (2 GB)。 存储大小(以字节为单位)是所输入数据实际长度的两倍 + 2 个字节。 nvarchar 的 ISO 同义词为 national char varyingnational character varying

varchar [ ( n | max ) ]

可变长度,非 Unicode 字符串数据。 n 用于定义字节长度,并且它可以为 1 到 8,000 之间的值。最大可保存4000汉字或者8000的英文字符

max 指示最大存储大小是 2^31-1 个字节 (2 GB)。 存储大小为所输入数据的实际长度 + 2 个字节。 varchar 的 ISO 同义词为 char varyingcharacter varying

区别:

存储空间:

nvarchar使用 UNICODE UCS-2 字符集,每个字符都使用用2个字节。

varchar使用单字节来存储,英文字符使用一个字节,中文字符使用两个字节。如果数据全是英文字符,建议采用varchar;如果包含中文,建议使用nvarchar。

如果数据有中文,在数据库中使用varchar类型,如果部署到英文操作系统,并且不支持中文语言,数据库显示数据时会出现乱码。

 

posted @ 2013-04-26 14:53  虎头  阅读(308)  评论(0编辑  收藏  举报