SQL2000 的字符型数据类型

今天早上把SQL 2000视频系统数据类型这一部分看完了,但是对下面这几个概念还是有点懵懵懂懂,所以试着去简单的总结它们之间的区别!

一、Char和Varchar

Char是固定长度字符型,Varchar可变长度字符型。这两者有什么区别呢?

比如说我们定义Char(10),如果我们插入abc,即使不足10个字节,数据库也会在abc的后面添加7个空格来不足10个字节。如果,我们插入的超过了10个字节,那么数据库就会将多余的截掉!也就是说,Char的数据长度等于定义的长度!

另外,Char是区分中英文的,中文在Char中是占用两个字节,而英文占一个,所以Char10)只能是10个字母或5个汉字!

Varchar的长度是可变的,比如说我们定义了Varchar10),当我们插入abc的时候,在数据库中只占3个字节!10只是最大值,当你存储的字符小于10时,它不会以空格来填充!也就是说,Varchar的数据长度小于或等于你定义的长度!

Char与Varchar 它们存储的最大范围都是8000,其中,Varchar最主要的作用就是比Char节省空间,但在效率上稍微比Char差一些,即要想获得效率,就必须牺牲一些空间,就是数据库设计上经常说的“以空间换效率”。但并不是说,Varchar就一定比较好,任何事物都是有两方面的,所以在使用什么时候使用Char和Vchar,还需要正确对待!

二、Nchar和Nvarchar

Nchar和Nvarchar都是针对Unicode的标准,两个字节作为一个存储单位,主要是存储容量大的,比如说我们的汉字!同时它们存储的最大范围是4000,它们两者的区别,同样是一个是固定长度的,一个是非固定长度的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值