Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  2-Digit Years in Dates

13.2.9 日期中的两位数年份

日期值中的两位数年份是模糊的,因为世纪是未知的。因此,MySQL必须将其解释为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值进行排序,这些值具有2位年份。

一些函数,如MIN()MAX(),将YEAR转换为数字。这意味着具有2位年份的值不能正确地与这些函数一起使用。解决方案是在这种情况下将YEAR转换为4位数字年份格式。