区别:
varchar(n): 长度为n个字节的可变长度且非Unicode的字符数据,存储大小为实际输入数据的字节长度,而不是n个字节。
nvarchar(n):包含n个字符的可变长度Unicode字符数据。字节的存储大小为输入字符个数的两倍。
char(n):char存储定长数据很方便,char字段上的索引效率极高。
nchar(n):采用Unicode编码,存储大小为实际输出字符个数的两倍。
char nchar :定长,速度快,占空间大,需要处理
varchar nvarchar:不定长,空间小,速度慢,无需处理
其中nchar和nvarchar仅限sqlserver数据库
用法:
从空间上考虑,使用varchar 合适
从效率上考虑,使用char合适
一般来说,含有中文字符,用nvarchar/nchar ;含有纯英文和数字,用varchar/char。