nvarchar与varchar的区别
原文发布时间为:2009-08-05 —— 来源于本人的百度文章 [由搬家工具导入]
1、通俗一點就是varchar適合輸入英文和數字,nvarchar一般用做中文或其它語言的輸入,這樣到別的語系不會出現亂碼。[也就是说.NET中如果你限制一个textbox的maxlength为10的话,那么你必须用大于varchar(20),或者大于nvarchar(10)的!]
2、varchar(2) 可以输入两个字母 或者 输入1个汉字 ; 而nvarchar(2) 可以输入的字母和汉字都为2个
varchar[(n)]
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varying。
n 表示字符个数
nvarchar:
不管是一个字符还是一个汉字,都存为2个字节
varchar:
汉字是2个字节,其他字符存为1个字节