暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

千万别乱用!TIMESTAMP和DATETIME如何选择?

IT周瑜 2024-10-04
48

在MySQL数据库中,TIMESTAMP
DATETIME
都是用来存储日期和时间的类型,但它们之间有一些关键的区别:

  1. 存储大小

    • TIMESTAMP
      占用4个字节。
    • DATETIME
      占用8个字节。
  2. 时间范围

    • TIMESTAMP
      的时间范围是从 1970-01-01 00:00:01
      2038-01-19 03:14:07
    • DATETIME
      的时间范围是从 1000-01-01 00:00:00
      9999-12-31 23:59:59
  3. 时区敏感性

    • TIMESTAMP
      是时区敏感的,它会根据服务器的时区设置自动转换时间值。
    • DATETIME
      是时区不敏感的,它存储的是UTC时间。
  4. 默认值

    • 如果没有为 TIMESTAMP
      字段指定默认值,那么默认值是当前时间戳(即当前时间)。
    • DATETIME
      字段如果没有指定默认值,则默认为 NULL
  5. 零值

    • TIMESTAMP
      不能存储零值,即 0000-00-00 00:00:00
    • DATETIME
      可以存储零值。
  6. 用途

    • TIMESTAMP
      通常用于记录时间戳,如创建时间和最后修改时间。
    • DATETIME
      通常用于存储日期和时间,如生日、事件日期等。

我是大都督周瑜,研究过Spring、SpringBoot、Spring Cloud、RabbitMQ、Tomcat、Dubbo、Zookeeper、JVM、Linux、SpringAI、LangChain、MetaGPT、GraphRAG、MySQL...等源码,专注做IT技术的底层研究与分享,学底层找周瑜就对了,关注我,成为技术大牛,也可以加我微信一起研究技术底层。


文章转载自IT周瑜,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论