• ADADADADAD

    MYSQL中timestamp取值范围是什么[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:16:35

    作者:文/会员上传

    简介:

    TIMESTAMP和DATETIME的取值范围不同同时存储不同,TIMESTAMP占四个字节取值范围为1970-01-01 00:00:00 到 2038-01-19 3:14:07那么为什么是这个取值范围呢 4个字节明显不够存

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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取值范围是什么.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqltimestamp