nvarchar 和 varchar 的区别

  字符集是在安装SQL Server时选择的,不能更改。使用Unicode数据类型,列可存储由 Unicode标准定义的任何字符,包含由不同字符集定义的所有字符。Unicode数据类型需要相当于非Unicode数据类型两倍的存储空间。Unicode数据使用SQL Server中的nchar、varchar和ntext数据类型进行存储。对于存储来源于多种字符集的字符的列,可采用这些数据类型。当列中各项所包含的Unicode字符数不同时(至多为4000),使用   nvarchar类型。当列中各项为同一固定长度时(至多为4000个Unicode字符),使用nchar类型。当列中任意项超过4000个Unicode字符时,使用ntext类型。

nvarchar(n):  
  包含n个字符的可变长度Unicode字符数据。n的值必须介于1与4,000之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。       
varchar[(n)]:  
  长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。所输入的数据字符长度可以为零。   

nvarchar   和   varchar   的区别是存储方式不同  
  varchar是按字节存储的.而带"n"的nvarchar是按字符存储的  
比如说varchar(40),能存储40个字节长度的字符,存储中文字符的时候,因为中文字符1个字符就等于2个字节.所以varchar(40)只能存储20个中文字符.  
  nvarchar(40),就可以存储40个中文字符,也就是说可以存储80个字节长度的字符.nvarchar要相对于存储的字符类型.比如有些字符是占3个字节的.  
  同样的,char和nchar也一样道理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值