11.2.10 Двузначные годы в датах
Значения дат с двузначными годами являются неоднозначными, так как век неизвестен. Такие значения должны быть интерпретированы в 4-значный формат, поскольку MySQL хранит годы во внутреннем представлении с четырьмя цифрами.
Для типов DATETIME, DATE и TIMESTAMP MySQL интерпретирует даты, указанные с неоднозначными значениями года, используя следующие правила:
Значения года в диапазоне
00-69преобразуются в2000-2069.Значения года в диапазоне
70-99преобразуются в1970-1999.
Для YEAR правила такие же, с этим исключением: числовое значение 00, вставленное в YEAR, приводит к результату 0000, а не к 2000. Чтобы указать ноль для YEAR и интерпретировать его как 2000, укажите его как строку '0' или '00'.
Обратите внимание, что эти правила являются лишь эвристикой, которая предлагает разумные предположения о значении ваших значений данных. Если правила, используемые MySQL, не создают требуемых значений, вы должны предоставить однозначный ввод, содержащий значения года с четырьмя цифрами.
MySQL корректно сортирует значения YEAR с двузначными годами.
Некоторые функции, такие как MIN() и MAX(), преобразуют YEAR в число. Это означает, что значение с двузначным годом не работает должным образом с этими функциями. В этом случае решение состоит в преобразовании YEAR в формат года с четырьмя цифрами.
© 2025 Oracle
Licensed under the GPLv2 License.