Как уже было сказано, измените таблицу Dates, чтобы она действительно содержала типы DATE.Вы можете легко получить год / месяц / день от даты.Наиболее типичные операции, связанные с вашей таблицей дат, включают преобразование в дату, затем некоторые операции (например, добавление дней / месяцев и т. Д.), А затем обратное преобразование.Если вы храните эти отметки как даты, вы сохраняете первый шаг.Правильное хранение БД в течение всего срока службы спасет вас больше, чем любая ложная причина, по которой они хранятся, как это предназначено для помощи с
. Вы также можете сделать это математически (или строго):
SELECT * FROM dates WHERE year * 10000 + month * 100 + day BETWEEN 20180203 and 20200103
Но это немного неудачный взлом по сравнению с правильным хранением данных.