MySQL Year Type - PullRequest
       7

MySQL Year Type

5 голосов
/ 22 марта 2010

Почему тип года MySQL ограничивает диапазон допустимых лет между 1901 и 2155?

Ответы [ 3 ]

5 голосов
/ 22 марта 2010

Предположительно, если вы храните более поздние даты, вам никогда не понадобится более 256 возможных значений года, которые вписываются точно в один байт. Это экономит вам значительные объемы пространства: вместо использования нескольких байтов для хранения целого числа 1901, 1900 лет которого во многих случаях можно считать избыточным, MySQL внутренне рассматривает его как число 1 и отображает его на уровне 1901 для вашей выгоды.

Если вам нужно больше лет, используйте тип на основе INT.

2 голосов
/ 22 марта 2010

Для того, чтобы уместить значение в один байт. Выбор 1901-2155 является произвольным, но тот факт, что он поддерживает значения в 1 байт, не является.

0 голосов
/ 22 марта 2010

Тип года однобайтовый. Один байт = 256 значений. Вероятно, сделано так, потому что большинство дат будет в этом диапазоне, поэтому он экономит байты

Вы можете использовать строку для более старых дат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...