第11章: 列类型 / 11.1. 列类型概述 / 11.1.2. 日期和时间类型概述

本节综合讨论了临时列类型。详细信息,参见11.3节,“日期和时间类型”。列存储需求参见11.5节,“列类型存储需求”

·         DATE

日期。支持的范围为'1000-01-01''9999-12-31'MySQL'YYYY-MM-DD'格式显示DATE值,但允许使用字符串或数字为DATE列分配值。

·         DATETIME

日期和时间的组合。支持的范围是'1000-01-01 00:00:00''9999-12-31 23:59:59'MySQL'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。

·         TIMESTAMP[(M)]

时间戳。范围是'1970-01-01 00:00:00'2037年。

TIMESTAMP列用于INSERTUPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。

TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0

注释:MySQL 4.1以前使用的TIMESTAMP格式在MySQL 5.1中不支持;关于旧格式的信息参见MySQL 4.1 参考手册

·         TIME

时间。范围是'-838:59:59''838:59:59'MySQL'HH:MM:SS'格式显示TIME值,但允许使用字符串或数字为TIME列分配值。

·         YEAR[(2|4)]

两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是190121550000。在两位格式中,允许的值是7069,表示从1970年到2069年。MySQLYYYY 格式显示YEAR值,但允许使用字符串或数字为YEAR列分配值。