Documentation Home
MySQL 8.0 参考手册  / 第 11 章数据类型  / 11.2 日期和时间数据类型  /  11.2.8 日期中的两位数年份

11.2.8 日期中的两位数年份

具有两位数年份的日期值不明确,因为世纪未知。此类值必须解释为 4 位数字形式,因为 MySQL 在内部使用 4 位数字存储年份。

对于DATETIMEDATETIMESTAMP类型,MySQL 使用以下规则解释用不明确的年份值指定的日期:

  • 范围内的年份值00-69变为 2000-2069.

  • 范围内的年份值70-99变为 1970-1999.

对于YEAR,规则是相同的,但有一个例外:00插入 的数字YEAR结果是 ,0000 而不是2000。要为 指定零 YEAR并将其解释为 2000,请将其指定为字符串 '0''00'

请记住,这些规则只是试探法,可以对您的数据值的含义提供合理的猜测。如果 MySQL 使用的规则没有产生您需要的值,您必须提供包含 4 位年份值的明确输入。

ORDER BY正确排序 YEAR具有两位数年份的值。

有些函数喜欢将 a 转换 MIN()为 数字。这意味着具有两位数年份的值不能与这些函数一起正常工作。这种情况下的解决方法是将 转换 为 4 位年份格式。 MAX()YEARYEAR