sql server中varchar和nvarchar的区别

varchar(n)中的n代表最多能存储多少个字节,超过会报错

比如varchar(10)代表最多能存储10个字节,1个汉字要占2个字节,1个英文字母是一个字节。因此varchar(10)最多能存10个英文字母或者5个汉字。

create table test1(id int primary key, vname varchar(10), nvname nvarchar(10))

--会报错,因为'中国中国人a'有11个字节,5 * 2 + 1 = 11
insert into test1(id, vname, nvname) values(1, '中国中国人a', 'a')

 

nvarchar(n)中的n代表最多能存储多少个字符(不分汉字和英文字母),一个汉字和一个英文字母一样,都只算一个字符。一个字符是2个字节存储。

比如nvarchar(10)最多能存储10个汉字或者10个英文字母,占据20个字节的空间

create table test1(id int primary key, vname varchar(10), nvname nvarchar(10))
--不会报错,因为nvarchar(10)能存10个字符(汉字和英文一样,都只算一个字符)
insert into test1(id, vname, nvname) values(2, 'a', '中国中国中国中国中国')
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值