当前位置: 首页 > news >正文

MySQL时间类型相关总结(DATETIME, TIMESTAMP, DATE, TIME, YEAR)

MySQL时间类型相关总结(DATETIME, TIMESTAMP, DATE, TIME, YEAR)


MySQL官方文档:
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-types.html


一. 对比:

在 MySQL 中,处理时间相关的数据类型主要有以下几种:DATE、TIME、DATETIME、TIMESTAMP 和 YEAR。每种类型适用于不同的场景,并且它们之间有一些细微的差别。以下是这些时间类型的特性和比较:

  1. DATE

    格式:YYYY-MM-DD
    范围:1000-01-01 到 9999-12-31
    用途:仅存储日期,不包含时间部分。
    精度:到天。

  2. TIME

    格式:HH:MM:SS
    范围:-838:59:59 到 838:59:59
    用途:仅存储时间,不包含日期部分。
    精度:到秒。

  3. DATETIME

    格式:YYYY-MM-DD HH:MM:SS
    范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59
    用途:存储日期和时间。
    精度:到秒。
    自动转换:在 MySQL 5.6.4 及以上版本,DATETIME 可以指定小数秒的精度,最多到微秒(6位小数)。

  4. TIMESTAMP

    格式:YYYY-MM-DD HH:MM:SS
    范围:1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC
    用途:存储日期和时间,通常用于记录“时间点”。
    精度:到秒。在 MySQL 5.6.4 及以上版本,也可以指定小数秒的精度。
    自动转换:TIMESTAMP 值在插入时会根据服务器时区转换为 UTC 存储,在检索时再转换回时区。

  5. YEAR

    格式:YYYY 或 YY
    范围:1901 到 2155(对于 YYYY);70 到 69(对于 YY,代表 1970-2069)
    用途:仅存储年份。
    精度:到年。


二. 比较和选择:

精度:如果你需要存储精确到秒的时间,DATETIME 和 TIMESTAMP 是合适的选择。如果需要更高精度(如毫秒或微秒),可以在 MySQL 5.6.4 及以上版本中指定。

时区:如果你需要处理时区,TIMESTAMP 是更好的选择,因为它会自动转换为 UTC 存储。

存储需求:如果你只需要存储日期或时间,使用 DATE 或 TIME 可以节省空间。

用途:根据你的具体需求选择最合适的类型。例如,如果你需要记录事件发生的具体时间点,TIMESTAMP 可能更合适。


三. 属性展示:

在这里插入图片描述


四. 数据存储展示:

在这里插入图片描述


ps:对应的sql脚本:

CREATE TABLE `test_time` (`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',`time_datetime` datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6) COMMENT 'datetime类型',`time_timestamp` timestamp(6) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6) COMMENT 'timestamp类型',`time_date` date DEFAULT NULL COMMENT 'date类型',`time_time` time(6) DEFAULT NULL COMMENT 'time类型',`time_year` year DEFAULT NULL COMMENT 'year类型',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
http://www.lryc.cn/news/532474.html

相关文章:

  • 朴素贝叶斯原理
  • k8s中,一.pod污点,二.pod容器污点容忍策略,三.pod优先级(PriorityClass类)
  • 【重生之学习C语言----水仙花篇】
  • 两步构建 AI 总结助手,实现智能文档摘要
  • 承压金字塔(蓝桥杯17C)
  • day33-数据同步rsync
  • Android 实现首页Tab切换并且支持懒加载功能详解
  • [Android] 360行车记录仪谷歌版
  • 基于Redis分布式锁
  • Spring Boot 条件注解:@ConditionalOnProperty 完全解析
  • canny边缘检测
  • 团建 蓝桥杯省a 15
  • 【逻辑学导论】1.6 有效性和真实性
  • IDEA 中集成 Maven,配置环境、创建以及导入项目
  • Qt跨屏窗口的一个Bug及解决方案
  • Vue WebSocket简单应用 ws
  • 快速单机部署ollama v0.5.7 +openwebui(免去网络环境干扰)
  • 【华为OD-E卷 - 114 找最小数 100分(python、java、c++、js、c)】
  • 快速搭建GPU环境 | docker、k8s中使用gpu
  • VSCode设置——通过ctrl+鼠标滚动改变字体大小(新版本的vs)
  • 【kafka实战】06 kafkaTemplate java代码使用示例
  • Java 23新特性
  • bat脚本实现自动化漏洞挖掘
  • [创业之路-285]:《产品开发管理-方法.流程.工具 》-1- IPD的功能列表以及导入步骤
  • Redis命令:列表模糊删除详解
  • Day36-【13003】短文,数组的行主序方式,矩阵的压缩存储,对称、三角、稀疏矩阵和三元组线性表,广义表求长度、深度、表头、表尾等
  • 大数据sql查询速度慢有哪些原因
  • 文件 I/O 和序列化
  • 机器学习中的关键概念:通过SKlearn的MNIST实验深入理解
  • HELLOCTF反序列化靶场全解