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.rhkb.cn/news/13414.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu部署Deepseek-R1模型(8b)

安装ubuntu系统 本机电脑系统ubuntu-20.04 #升级软件 sudo apt-get update#安装curl sudo apt-get install curl通过以上两条指令,完成了curl命令的安装。 安装ollama 打开Ollama官网 选择Linux, 给出如上图方框所示的一条指令 curl -fsSL https:…

【教程】docker升级镜像

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 自动升级 手动升级 无论哪种方式,最重要的是一定要通过-v参数做数据的持久化! 自动升级 使用watchtower,可…

4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)

文章目录 前言一、Ajax技术(从服务端获取数据,发送各种请求)0 接口文档管理:使用apipost等接口测试软件创建接口便于前端后端分离测试1 基本概念2 原生Ajax使用示例(几年前的早期用法) 二、 Axios技术(对原…

Google C++ Style / 谷歌C++开源风格

文章目录 前言1. 头文件1.1 自给自足的头文件1.2 #define 防护符1.3 导入你的依赖1.4 前向声明1.5 内联函数1.6 #include 的路径及顺序 2. 作用域2.1 命名空间2.2 内部链接2.3 非成员函数、静态成员函数和全局函数2.4 局部变量2.5 静态和全局变量2.6 thread_local 变量 3. 类3.…

在 Mac M2 上安装 PyTorch 并启用 MPS 加速的详细教程与性能对比

1. 安装torch 在官网上可以查看安装教程,Start Locally | PyTorch 作者安装了目前最新的torch版本2.5.1,需要提前安装python3.9及以上版本,作者python版本是python3.11最新版本 使用conda安装torch,在终端进入要安装的环境&…

股指入门:股指期货是什么意思?在哪里可以做股指期货交易?

股指期货是一种以股票指数为标的物的期货合约,也可以称为股票指数期货或期指。 股指期货是什么意思? 股指期货是一种金融衍生品,其标的资产是股票市场上的股指,例如标普500指数、道琼斯工业平均指数、上证50指数等。 股指期货允…

ZooKeeper单节点详细部署流程

ZooKeeper单节点详细部署流程 文章目录 ZooKeeper单节点详细部署流程 一.下载稳定版本**ZooKeeper**二进制安装包二.安装并启动**ZooKeeper**1.安装**ZooKeeper**2.配置并启动**ZooKeeper** ZooKeeper 版本与 JDK 兼容性3.检查启动状态4.配置环境变量 三.可视化工具管理**Zooke…

【高级篇 / IPv6】(7.2) ❀ 04. 在60E上配置ADSL拨号宽带上网(IPv4) ❀ FortiGate 防火墙

【简介】除了单位用户以外,大部分个人用户目前使用的仍然是30E、50E、60E系列防火墙,固件无法达到目前最高版本7.6,这里以最常用的60E为例,演示固件版本7.2下实现ADSL拨号宽带的IPv6上网。由于内容比较多,文章分上、下…

51单片机07 串口通信

串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信。51单片机内部自带UART(Universal Asynchronous Recei…

【Kubernetes Pod间通信-第2篇】使用BGP实现Pod到Pod的通信

Kubernetes中Pod间的通信 本系列文章共3篇: 【Kubernetes Pod间通信-第1篇】在单个子网中使用underlay网络实现Pod到Pod的通信【Kubernetes Pod间通信-第2篇】使用BGP实现Pod到Pod的通信(本文介绍)【Kubernetes Pod间通信-第3篇】Kubernetes中Pod与ClusterIP服务之间的通信…

DeepSeek私有化本地部署图文(Win+Mac)

目录 一、DeepSeek私有化本地部署【Windows】 1、安装Ollama 2、配置环境变量 3、下载模型 4、使用示例 a、直接访问 b、chatbox网页访问 二、DeepSeek本地部署【Mac】 1、安装Ollama 2、配置环境变量 3、下载模型 4、使用示例 5、删除已下载的模型 三、DeepSeek…

点(线)集最小包围外轮廓效果赏析

“ 图像、点集、线集合最小外轮廓计算应用较为广泛,如抠图、神奇选择、LOD、碰撞检查等领域,提高场景效率” 1.前言 作者基于递归迭代求解实现点集的最小外轮廓计算,在CGLib库中实现,已集成于CGViewer,可联系作者试用&…

博客园-awescnb插件-geek皮肤优化-Markdown样式支持

💖简介 博客园-awescnb插件-geek皮肤下,Markdown语法中对部分样式未正常支持,可以通过自定义CSS进行完善。 ✨定义列表 定义自定义CSS 博客园->管理->设置->页面定制 CSS 代码 添加代码 /* 定义列表 */ dl dt{font-size: 14px;f…

接口测试与常用接口测试工具

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口&#xff…

三维粒子滤波(Particle Filter)MATLAB例程,估计三维空间中匀速运动目标的位置(x, y, z),提供下载链接

三维粒子滤波(Particle Filter)MATLAB例程,估计三维空间中匀速运动目标的位置(x, y, z) 文章目录 介绍功能运行结果代码介绍 本 MATLAB 代码实现了三维粒子滤波( P a r t i c l e F i l t e

语言月赛 202311【基因】题解(AC)

》》》点我查看「视频」详解》》》 [语言月赛 202311] 基因 题目描述 有一个长度为 n n n 的字符串 S S S。其只包含有大写字母。 小 A 将 S S S 进行翻转后,得到另一个字符串 S ′ S S′。两个字符串 S S S 与 S ′ S S′ 对应配对。例如说,对…

PostgreSQL函数自动Commit/Rollback所带来的问题

一、综述 今天在PostgreSQL遇到一个奇怪的现象,简而言之,是想用函数(存储过程)实现插入记录,整个过程没报错但事后却没找到记录!忙活半天,才发现原因是PostgreSQL函数(存储过程&…

JVM为什么要指针压缩?为什么能指针压缩?原理是什么?

面试官:为什么要指针压缩,为什么能指针压缩?原理是什么? 指针压缩(Pointer Compression)是 Java 虚拟机(JVM)中用于优化内存使用的一种技术,特别是在 64 位环境下。 为…

Mac上搭建k8s环境——Minikube

1、在mac上安装Minikube可执行程序 brew cask install minikub 安装后使用minikube version命令查看版本 2、安装docker环境 brew install --cask --appdir/Applications docker #安装docker open -a Docker #启动docker 3、安装kubectl curl -LO https://storage.g…

Kafka 可靠性探究—副本刨析

Kafka 的多副本机制提升了数据容灾能力。 副本通常分为数据副本与服务副本。数据副本是指在不同的节点上持久化同一份数据;服务副本指多个节点提供同样的服务,每个节点都有能力接收来自外部的请求并进行相应的处理。 1 副本刨析 1.1 相关概念 AR&…