admin 管理员组文章数量: 1184232
2024年3月13日发(作者:c语言冒泡法从大到小排序)
Navicat 在 MySQL 中处理日期和时间
第二章节
TIMESTAMP 和 YEAR 类型
欢迎回到这个关于在 MySQL 中处理日期和时间的系列。在前两部分中,我们探讨
MySQL 的时态数据类型。第 1 部分介绍了 DATE、TIME 和 DATETIME 数据类型,而
本部分将介绍余下的 TIMESTAMP 和 YEAR 类型。
TIMESTAMP 类型
TIMESTAMP 类型与 MySQL 中的 DATETIME 相似,两者都是包含日期和时间组合
的时态数据类型。这就引出了一个问题,为什么同一信息有两种类型?首先,MySQL 中
的时间戳通常用于跟踪记录的更改,并且通常在每次记录更改时更新,而日期时间用于存
储特定的时间值。另一方面,DATETIME 表示日期(在日历中)和时间(在挂钟上),而
TIMESTAMP 表示明确定义的时间点。如果你的应用程序处理时区,这种区别可能非常重
要,因为“2009-11-01 14:35:00”是多久之前取决于你所在的时区。同时,自“1970-01-01
00:00:00 UTC”以来的 1248761460 秒总是指同一时间点。
在存储方面,TIMESTAMP 需要 4 个字节,而 DATETIME 需要 5 个字节。
TIMESTAMP 列存储 14 个字符,但你可以以不同的方式显示它,具体取决于你如何定义
它。例如,如果你将列定义为 TIMESTAMP(2),则只会显示两位数的年份(即使存储了完
整值)。这种方法的优点是,如果你稍后决定要显示完整值,你可以更改表定义,完整值将
会显示。
下面是定义 TIMESTAMP 的各种方法,以及生成的显示格式:
• TIMESTAMP(14): YYYY-MM-DD HH:MM:SS
• TIMESTAMP(12): YY-MM-DD HH:MM:SS
• TIMESTAMP(10): YY-MM-DD HH:MM
• TIMESTAMP(8): YYYY-MM-DD
• TIMESTAMP(6): YY-MM-DD
• TIMESTAMP(4): YY-MM
• TIMESTAMP(2): YY
在 Navicat 16 表设计器中,时间戳的精度可以在“长度”列中定义:
如果没有提供“长度”(如上例所示),Navicat 会显示完整字段,就好像它被声明为
TIMESTAMP(14):
版权声明:本文标题:Navicat 在 MySQL 中处理日期和时间 - 第二章节 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710301352a566866.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论