Вопрос

Я хочу просто сохранить год выпуска в одной из моих моделей.На данный момент у меня просто есть поле базы данных с именем year типа date, но, похоже, оно хочет использовать целую дату (гггг-мм-дд), а не просто год.

Как лучше всего это хранить?В поле даты, но используя какой-то способ просто заставить его сохранить бит даты (в этом случае, как?), или в поле int, или в строковом поле, или еще в чем?В некотором смысле использование поля int кажется неправильным, но это может быть самым простым.

Это было полезно?

Решение

Это зависит от диапазона возможных дат.Если ваши даты идут от BC до далекого будущего (минус более 4 цифр), было бы проще всего сохранить целое число (просто по соображениям сортировки).Это также верно, если вы хотите произвести расчеты или сравнить даты.

В противном случае я бы, вероятно, выбрал строку.

Используя поле даты, используйте 1 января и извлеките часть года при отображении.

Другие советы

Я бы не советовал использовать произвольно выбранную дату в поле даты из соображений удобства обслуживания.Вы будете знать, что выбрали это произвольно, но будут ли последующие сопровождающие вашего приложения?

Я бы выбрал int, потому что таким образом вы не сохраняете ничего, кроме того, что вы имеете в виду для хранения, и не может быть большой путаницы в значении этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top