文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

13.2.9 日期中的两位数年份

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

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

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

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

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

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

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

一些函数,如 MIN()MAX(),会将 YEAR 转换为数字。这意味着具有两位数年份的值不能与这些函数一起正常使用。在这种情况下,修复方法是将 YEAR 转换为 4 位数字年份格式。