彩票走势图

MySQL开发工具Navicat使用教程:在 MySQL 中处理日期和时间(二)

翻译|使用教程|编辑:董玉霞|2022-03-09 14:42:27.810|阅读 388 次

概述:我们在上篇中主要介绍Navicat教程的在MySQL 中使用日期和时间的主要操作方法,而本部分将介绍其余的 TIMESTAMP 和 YEAR 类型。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

我们在上篇中主要介绍Navicat教程的在MySQL 中使用日期和时间的主要操作方法,而本部分将介绍其余的 TIMESTAMP 和 YEAR 类型。

TIMESTAMP 类型

TIMESTAMP 类型与 MySQL 中的 DATETIME 相似,两者都是包含日期和时间组合的时间数据类型。这就引出了一个问题,为什么同一信息有两种类型?对于初学者,MySQL 中的时间戳通常用于跟踪记录的更改,并且通常在每次记录更改时更新,而日期时间用于存储特定的时间值。

另一种思考方式是 DATETIME 表示日期(在日历中)和时间(在挂钟上),而 TIMESTAMP 表示明确定义的时间点。如果您的应用程序处理时区,这种区别可能非常重要,因为“2009-11-01 14:35:00”是多久之前取决于您所在的时区。同时,自“1970-01-01 00”以来的 1248761460 秒:00:00 UTC'

在存储方面,TIMESTAMP 需要 4 个字节,而 DATETIME 需要 5 个字节。TIMESTAMP 列存储 14 个字符,但您可以以不同的方式显示它,具体取决于您如何定义它。例如,如果您将列定义为 TIMESTAMP(2),则只会显示两位数的年份(即使存储了完整值)。这种方法的优点是,如果您稍后决定显示完整值,您可以更改表定义,完整值将出现。

下面是定义 TIMESTAMP 的各种方法的列表,以及生成的显示格式:

时间戳(14) YYYY-MM-DD HH:MM:SS
时间戳(12) YY-MM-DD HH:MM:SS
时间戳(10) YY-MM-DD HH:MM
时间戳(8) YYYY-MM-DD
时间戳(6) YY-MM-DD
时间戳(4) YY-MM
时间戳(2)

Navicat最新版本中,的表设计器中,时间戳的精度可以在 Length 列中定义::

Navicat for MySQL在 MySQL 中处理日期和时间

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

Navicat for MySQL在 MySQL 中处理日期和时间

YEAR类型

许多 DBA 选择将年份存储为整数。虽然这当然可以工作,但为此目的使用 MySQL 的专用 YEAR 类型更有效,因为 YEAR 类型仅使用 1 个字节。它可以声明为 YEAR(2) 或 YEAR(4) 以指定两个或四个字符的显示宽度,如果未指定宽度,则默认为四个字符。YEAR(4) 和 YEAR(2) 具有不同的显示格式,但具有相同的值范围:

  • 对于 4 位格式,MySQL 以 YYYY 格式显示 YEAR 值,范围为 1901 到 2155,或 0000。
  • 对于 2 位格式,MySQL 仅显示最后两位(最低有效)数字;例如,70(1970 或 2070)或 69(2069)。
  • 以下是 Navicat 表格设计器中年份列的示例,其格式为四位:

    Navicat for MySQL在 MySQL 中处理日期和时间

    因此,我们在表格中看到全年:

    Navicat for MySQL在 MySQL 中处理日期和时间

    以上就是关于五种 MySQL 时态数据类型介绍,想要了解更多关于Navicat for MySQL使用教程以及价格信息,欢迎前往官方网站进行咨询。

    Navicat for MySQL| 下载试用

    Navicat for MySQL是管理和开发 MySQL 或 MariaDB 的理想解决方案。它是一套单一的应用程序,能同时连接 MySQL 和 MariaDB 数据库,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库兼容。


    标签:

    本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


    为你推荐

    • 推荐视频
    • 推荐活动
    • 推荐产品
    • 推荐文章
    • 慧都慧问
    扫码咨询


    添加微信 立即咨询

    电话咨询

    客服热线
    023-68661681

    TOP