nvarchar与varchar的区别

时间:2022-09-18 18:20:20

原文发布时间为: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个字节