char,nchar,varchar,nvarchar之间的区别

 

总结一下charnchar,varchar,nvarchar之间的区别:

 

只要弄清楚以下两个概念,基本就可以区分char,nchar,varchar,nvarchar的相同点和不同点

 

1)那么Unicode字符和非Unicode字符的区别是什么的?

Unicode字符:无论你存的是汉字还是英文数字,每个字符都表示两个字节(假如长度为10,无论是英文还是汉字都只可以存5个)

 

Unicode字符:英文数字为1个字节,汉字表示两个字节(假如长度为10,则只可以保存5个汉字,或者10个英文)

 

2)定长和变长的概念

定长:当输入数据的长度没有达到指定的长度是,会自动将英文空格补充在其后面(例如:char(10)当输入‘A’时,数据库中实际存储的是A后面加个9个英文空格)

变长:实际存储空间是可变的,不会以空格填充

 

例如:Char nchar

 

这两者都是定长的,当输入数据的长度没有达到指定的长度是,会自动将英文空格补充在其后面(例如:char(10)当输入‘A’时,数据库中实际存储的是A后面加个9个英文空格)

Nchar也是定长的,和char最大的区别是前缀为n的表示Unicode字符,char为非Unicode字符

 

相同点:两者都是定长

不同点:一个是Unicode字符,一个是非Unicode字符

 

 

 

相同点

不同点

Char

定长

Unicode字符

nchar

定长

Unicode字符

 

 

 

相同点

不同点

varchar

变长

Unicode字符

nvarchar

变长

Unicode字符

 

 

相同点

不同点

Char

Unicode字符

定长

varchar

Unicode字符

变长

 

 

相同点

不同点

nchar

Unicode字符

定长

nvarchar

Unicode字符

变长

 

总结:以n为前缀的,表示的是Unicode字符(nchar,nvarchar

            var的,表示的是变长(varchar,nvarchar)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值