В каком формате хранить данные с двумя годами в одной ячейке?
У меня есть колонка под названием год.
|year |
-----------
|2015/2016|
|2016/2017|
Я сохранил даты как varchar
Однако, когда я упорядочиваю запрос по году, он не обязательно упорядочивает их по порядку, я думаю, это связано с тем, как я хранил данные и используемый формат.
В каком формате я должен хранить этот год? Мне нужно будет оставить его как "2015/2016" и не могу их разделить.
2 ответа
Краткий ответ: никогда не храните два значения в одном столбце. Длинный ответ - https://en.wikipedia.org/wiki/Database_normalization
Что касается типов, есть TIMESTAMP, обычно используемый для даты и времени. VARCHAR также приемлем, но таким образом вы пропускаете некоторые специальные функции с запросами.
UPD: у вас нет "держать как"2015/2016"", потому что это задача уровня представления - ваш пользовательский интерфейс. Пользователям все равно, как вы храните данные.
Это были необработанные данные, предоставленные мне, и я находился в процессе нормализации данных:
Я принял к сведению комментарии и согласен с тем, что лучшим вариантом будет varchar, а даты разбиты на две колонки -
--- | yearStart | --- | КОНЕЦ |
--- | 2015 | -------- | 2016 |
--- | 2016 || ------- | 2017 |
--- | 2017 | -------- | 2018 |
и т. д.
Затем я мог бы сделать заказ по заявке, используя начало года, что решит мою проблему!