Spec-Zone .ru
спецификации, руководства, описания, API
|
Значения даты с двухразрядными годами неоднозначны, потому что столетие неизвестно. Такие значения должны быть интерпретированы в четырехразрядную форму, потому что MySQL хранит годы, внутренне используя четыре цифры.
Для DATETIME
, DATE
, и TIMESTAMP
типы, MySQL интерпретирует даты, определенные с неоднозначными
значениями года, используя эти правила:
Год оценивает в диапазоне 00-69
преобразовываются в
2000-2069
.
Год оценивает в диапазоне 70-99
преобразовываются в
1970-1999
.
Для YEAR
, правила являются тем же самым с этим исключением: числовое 00
вставленный в YEAR(4)
результаты в 0000
вместо 2000
. Определить нуль для YEAR(4)
и имейте это быть интерпретированными как 2000
,
определите это как строку '0'
или '00'
.
Помните, что эти правила являются только эвристикой, которые обеспечивают разумные предположения относительно того, что означают Ваши значения данных. Если правила, используемые MySQL, не производят значения, Вы требуете, следует обеспечить однозначный ввод, содержащий значения года из четырех знаков.
ORDER BY
должным образом виды YEAR
значения, у которых есть двухразрядные годы.
Некоторые функции как MIN()
и MAX()
преобразуйте a YEAR
к числу. Это означает, что значение с двухразрядным годом не работает должным образом с этими функциями.
Фиксация в этом случае должна преобразовать YEAR
к формату года из четырех знаков.