nvarchar和varchar 的区别是存储方式不同:
比如说varchar(40),能存储40个字节长度的字符,存储中文字符的时候,因为中文字符1个字符就等于2个字节.所以varchar(40)只能存储20个中文字符。
nvarchar每个字符占用2个字节,nvarchar(40),就可以存储40个中文字符。nvarchar要相对于存储的字符类型。比如有些字符是占3个字节的。
varchar(n) :n最大8000个字节,8000个英文字符,4000个汉字
nvarchar(n) :n最大4000个字符,不论英文,中文,都是按两个字节存储
varchar(max)和nvarchar(max) sqlserver2005版本之后支持
varchar(max):相当于text,支持like,也支持原本text不支持的数据库函数,兼容性好
nvarchar(max):相当于ntext,支持like,也支持原本text不支持的数据库函数,兼容性好