char和varchar区别

 我来答
那年丶人已散尽
高粉答主

2020-02-24 · 关注我不会让你失望
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:5万
展开全部

1、字符类型长度不同

char类型的长度是固定的,varchar的长度是可变的。

比如:使用char(10),表示存储的字符将占10个字节(包括7个空字符);使用varchar2(10),则表示只占3个字节,10是最大值,当存储的字符小于10时,按照实际的长度存储。

2、效率不同

char类型的效率比varchar的效率稍高。

3、空间占用不同

varchar2比char节省空间,但是在效率上比char稍差些。既要获得效率即必须牺牲一点空间,这就是设计上的"以空间换时间"。

扩展资料:

char类型占1字节,就是8位,所能存储的正整数是 0111 1111,即127。如果将 int 型的整数i= 128
赋予ch,会产生溢出。

因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000
0000.。若将它赋给一个只有8位的char 类型变量,只能将低8位的1000 0000
放进去,其他的都会被删掉。

整数在计算机中都是以补码的形式存储的,此时1000 0000 在计算机的眼里,是一个补码,最左边是 1
表示负数,补码1000 0000 所对应的十进制是 -128,所以最后输出的就是 -128。因此溢出会使得最大正整数变成最小负整数。

参考资料来源:百度百科-char

                       百度百科-varchar

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式