这篇文章给大家分享的是有关MYSQL中timestamp取值范围是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
TIMESTAMP和DATETIME的取值范围不同同时存储不同,
TIMESTAMP占四个字节取值范围为1970-01-01 00:00:00 到 2038-01-19 3:14:07
那么为什么是这个取值范围呢 4个字节明显不够存储日期格式。4字节为2^32次方
那么我们可以分析timestamp实际是C语言的一个免费主机域名INT 类型带符号位的。
用ORACLE的格式算出来为
SQL> select to_date(‘1970-01-01 00:00:00′,’yyyy-mm-dd hh34:mi:ss’)+(power(2,31)-1)/(60*60*24) from dual;
TO_DATE(‘1970-01-0100:00:00′,’
——————————
2038/1/19 3:14:07
2^31是因为带了符号位少了一位。所以是31次方,而减一因为从0开始而不是1,比如2的8次方为256但是实际的数值是0~255(FF)
可以想到TIMESTAMP实际是一个相加的过程 他存储在内部格式是一个表示秒的 int类型 带符号位感谢各位的阅读!关于“MYSQL中timestamp取值范围是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到免费主机域名吧!
MySQL中如何进行基于GTID半同步搭建主从,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 背景 * GTID: 全局事物ID(Global Transaction ID),在整个事务架构中…