SQL编程中两个char定义的位数不同,数值相同,相等吗?

char(6)2017,char(4)2017char(6)2017,varchar(4)2017char(6)2017,varchar(6)2017这三组数比较相等吗... char(6) 2017, char(4) 2017
char(6) 2017, varchar(4) 2017
char(6) 2017, varchar(6) 2017
这三组数比较相等吗
展开
 我来答
badkano
2017-03-22 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144775 获赞数:885375
团长

向TA提问 私信TA
展开全部
char(6) 2017, char(4) 2017 --不相等,char(6) 2017会在2017后补位2个空格
char(6) 2017, varchar(4) 2017--不相等,char(6) 2017会在2017后补位2个空格
char(6) 2017, varchar(6) 2017--不相等,char(6) 2017会在2017后补位2个空格,varchar(6) 2017只占4位,不补空格
THX_吴
2017-03-22 · TA获得超过327个赞
知道小有建树答主
回答量:370
采纳率:0%
帮助的人:145万
展开全部
搜索下char varchar 区别你就知道了
追问
区别中没有讲到这一点啊,能不能稍微解释下,谢谢了
追答
CHAR(10)是不可变长度为10的字符串,占的存储空间始终为10个字符的长度,而VARCHAR(10)是可变长度的字符串,故而可以节省空间。例如:
储存"aaaaabbbbb",则CHAR(10)需要10个字符的空间来储存,VARCHAR(10)也需要10个字符的空间;
储存"aaa",则CHAR(10)需要10个字符的空间来储存,而VARCHAR(10)只需要3个字符的空间。

虽然每个记录节省的空间有限,但是记录很多的时候,节省的空间是很惊人的。

另外,推荐用VARCHAR2代替VARCHAR。因为Oracle今后会将VARCHAR作为其他用途。VARCHAR2目前和VARCHAR是完全相同的数据类型。
你的问题:这三组值是相等的,只是在占用内存分派上有区别
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式