Это будет работать нормально, вплоть до того момента, когда вам придется реализовать свой собственный код для определения разницы между двумя значениями или для определения того, какое значение вам понадобится в течение шести месяцев в будущем.
Используйте тип даты, вот для чего (a) .Если у него слишком большое разрешение, примените ограничение, согласно которому день всегда будет установлен равным 1. Или установите это с помощью триггера вставки / обновления.
Тогда вы можете использовать весь причудливый код манипуляции датами, который ваш поставщик СУБД уже написал, код, который, вероятно, будет гораздо более эффективным, поскольку он будет работать с собственным двоичным типом, а не с символьной строкой.
И вы сэкономите место в этом конкретном случаеслучай также, поскольку тип MySQL date
на короче , чем char(6)
.Нередко решение о базе данных дает вам преимущество в отношении времени и (обычно это компромисс), поэтому вам следует воспользоваться им, когда вы сможете.
(a) Это относится ко всем этим типам, таким как date
, time
и datetime
.