Тип года MySQL

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

5
задан wattostudios 30 April 2012 в 13:50
поделиться

3 ответа

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

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

5
ответ дан 14 December 2019 в 08:47
поделиться

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

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

0
ответ дан 14 December 2019 в 08:47
поделиться

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

2
ответ дан 14 December 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: