char为 定长字符型,如char(10),你实际数据是‘hello’,这时Sql Server 会自动补充空格,填满10位。varchar:可变长字符,没有上述问题,是多长就保存多长的数据。另外, char 和 varchar 在存储数据时,每个英文字符和数字都占一个字节,而一个中文的字符会占两个字节.
nchar 与 nvarchar 的用法基本相同,只不过在存储数据时采用的是 Unicode元码, 一个英文字符和一个中文字符所占的空间是相同的.都是两个字节.
如果数据表的列中的数据的长度大小接近一致,请使用 char 或者 nchar 。
如果数据表的列中的数据值大小显著不同,请使用 varchar 或者 nvarchar 。