具有两位数年份的日期值不明确,因为世纪未知。此类值必须解释为 4 位数字形式,因为 MySQL 在内部使用 4 位数字存储年份。
对于DATETIME
、
DATE
和
TIMESTAMP
类型,MySQL 使用以下规则解释用不明确的年份值指定的日期:
范围内的年份值
00-69
变为2000-2069
.范围内的年份值
70-99
变为1970-1999
.
对于YEAR
,规则是相同的,但有一个例外:00
插入
的数字YEAR(4)
结果是 ,0000
而不是2000
。要为 指定零
YEAR(4)
并将其解释为
2000
,请将其指定为字符串
'0'
或'00'
。
请记住,这些规则只是试探法,可以对您的数据值的含义提供合理的猜测。如果 MySQL 使用的规则没有产生您需要的值,您必须提供包含 4 位年份值的明确输入。
ORDER BY
正确排序
YEAR
具有两位数年份的值。
有些函数喜欢将 a 转换
MIN()
为
数字。这意味着具有两位数年份的值不能与这些函数一起正常工作。这种情况下的解决方法是将 转换
为 4 位年份格式。
MAX()
YEAR
YEAR