前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 MySQL 中处理日期和时间(一)

在 MySQL 中处理日期和时间(一)

作者头像
MySQL技术
发布2022-06-08 18:44:29
3.5K0
发布2022-06-08 18:44:29
举报
文章被收录于专栏:MySQL技术

第一章节:DATE、TIME 和 DATETIME 类型

绝大多数数据库存储了大量的“时态”数据。时态数据只是表示时间状态的简单数据。一个组织可能出于各种原因收集时态数据,例如分析天气模式和其他环境变量、监控交通状况、研究人口趋势等。企业还经常需要存储有关何时下订单、何时补货、何时雇用员工,以及有关其日常业务的大量其他信息。

你可能会感到很惊讶,关系数据库不会以相同的方式存储日期和时间。MySQL 尤其具有规范性。例如,它使用通用 yyyy-mm-dd 格式存储日期值。此格式是固定的,不可更改。就算你更喜欢使用 mm-dd-yyyy 格式,也不可能这样做。但是,你可以使用 DATE_FORMAT 函数在表示层(通常是应用程序)中按照你想要的方式格式化日期。在“在 MySQL 中处理日期和时间”的前两部分中,我们将从 DATE、TIME 和 DATETIME 开始研究 MySQL 的时态数据类型。

  • 类型一览

MySQL 提供了五种用于存储日期和时间的类型,一些仅用于日期,另一些用于时间,还有一些包含两者。下表总结了每种类型:

本文的其余部分将更详细地介绍 DATE、TIME 和 DATETIME 类型,而下一篇文章将重点介绍另外两种类型。

  • DATE 类型

MySQL 使用 3 个字节来存储 DATE 值。DATE 值的范围是从 1000-01-01 到 9999-12-31。此外,当禁用严格模式(Strict Mode)时,MySQL 会将任何无效日期(例如 2015-02-30)转换为零日期值 0000-00-00。

在 Navicat 客户端的表设计器中,你可以从“类型”下拉列表中选择 DATE 类型:

若要设置 DATE 值,你可以使用日历控件简单地选择日期:

当然,你也可以使用 INSERT 语句插入 DATE:

  • TIME 类型

MySQL 使用“HH:MM:SS”格式来查询和显示表示一天中 24 小时内某个时间的时间值。当表示两个事件之间的时间间隔时,MySQL 使用大于 24 小时的“HHH:MM:SS”格式。

以下是 Navicat 表设计“类型”下拉列表中的 TIME 类型:

Navicat 提供了 TIME INPUT 控件设置 TIME 值:

以下是一个设置开始和结束时间的 INSERT 语句:

  • DATETIME 类型

很多时候,你需要同时存储日期和时间。为此,你可以使用 MySQL DATETIME 类型。默认情况下,DATETIME 值的范围是从 1000-01-01 00:00:00 到 9999-12-31 23:59:59。当你从 DATETIME 列查询数据时,MySQL 会以相同的 YYYY-MM-DD HH:MM:SS 格式显示 DATETIME 值。

DATETIME 值使用 8 个字节进行存储。此外,DATETIME 值可以包含一个尾随小数秒,最细可以到微秒,格式为 YYYY-MM-DD HH:MM:SS[.fraction],例如 2015-12-20 10:01:00.999999。

对于输入 DATETIME 值,Navicat 提供了 DATETIME INPUT 控件,它结合了 DATE 和 TIME 控件:

DATETIME 值可以使用包含“T”时间部分描述符的字符串文字或通过转换为 DATETIME 来设置:

  • 预告

在探讨了 DATE、TIME 和 DATETIME 类型之后,下一部分将介绍剩余的两种时间类型:TIMESTAMP 和 YEAR。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档