Я бы не рекомендовал применять функции даты к фильтруемому столбцу, поскольку это требует больше работы для вашей базы данных (каждое значение в кумуне должно быть преобразовано перед сравнением) и не позволяет базе данных использовать преимущества существующего индекса.
Вместо этого вы можете сравнить столбец datetime
с литералом, например:
where mydatetimecol >= datetime(2019, 1, 1, 0, 0, 0)
Если у вас есть даты в будущем, то вы можете использовать полуоткрытый интервал для выполните проверку:
where
mydatetimecol >= datetime(2019, 1, 1, 0, 0, 0)
and mydatetimecol < datetime(2021, 1, 1, 0, 0, 0)
Похоже, вы храните даты в виде строк в формате YYYY-MM-DD HH:MI:SS
. Если это так, вы можете вместо этого выполнить сравнение строк (поскольку, к счастью, этот формат позволяет это):
where
mydatetimecol >= '2019-01-01 00:00:00'
and mydatetimecol < '2021-01-01 00:00:00'