Spec-Zone .ru
спецификации, руководства, описания, API

11.3.8. Двухразрядные Годы в Датах

Значения даты с двухразрядными годами неоднозначны, потому что столетие неизвестно. Такие значения должны быть интерпретированы в четырехразрядную форму, потому что MySQL хранит годы, внутренне используя четыре цифры.

Для DATETIME, DATE, и TIMESTAMP типы, MySQL интерпретирует даты, определенные с неоднозначными значениями года, используя эти правила:

Для YEAR, правила являются тем же самым с этим исключением: числовое 00 вставленный в YEAR(4) результаты в 0000 вместо 2000. Определить нуль для YEAR(4) и имейте это быть интерпретированными как 2000, определите это как строку '0' или '00'.

Помните, что эти правила являются только эвристикой, которые обеспечивают разумные предположения относительно того, что означают Ваши значения данных. Если правила, используемые MySQL, не производят значения, Вы требуете, следует обеспечить однозначный ввод, содержащий значения года из четырех знаков.

ORDER BY должным образом виды YEAR значения, у которых есть двухразрядные годы.

Некоторые функции как MIN() и MAX() преобразуйте a YEAR к числу. Это означает, что значение с двухразрядным годом не работает должным образом с этими функциями. Фиксация в этом случае должна преобразовать YEAR к формату года из четырех знаков.