文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  日期中的两位数年份

13.2.9 日期中的两位数年份

带有两位数年份的日期值是模棱两可的,因为世纪是未知的。这些值必须被解释为四位数形式,因为 MySQL 在内部使用四位数存储年份。

对于 DATETIMEDATETIMESTAMP 类型,MySQL 使用以下规则解释指定了模棱两可年份值的日期:

  • 范围在 00-69 之内的年份值将变为 2000-2069

  • 范围在 70-99 之内的年份值将变为 1970-1999

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

请记住,这些规则只是启发式算法,它们提供了对数据值含义的合理猜测。如果 MySQL 使用的规则没有生成所需的值,则必须提供包含四位数年份值的明确输入。

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

某些函数(例如 MIN()MAX())将 YEAR 转换为数字。这意味着具有两位数年份的值无法与这些函数一起正常工作。在这种情况下,解决方法是将 YEAR 转换为四位数年份格式。