Есть поле INT, в котором я храню метки времени в таблице.
Я пытаюсь выбрать строки за 1 неделю до этой отметки времени
WHERE last_loc_date > DATE(NOW()) - INTERVAL 1 WEEK
Не работает.Любая идея?
Не используйте DATE (сейчас ()), если вы хотите строго соблюдать одну неделю
WHERE last_loc_date > unix_timestamp(NOW() - INTERVAL 1 WEEK)
Вы можете использовать unix_timestamp для вычисления второго аргумента:
unix_timestamp
WHERE last_loc_date > unix_timestamp(DATE(NOW()) - INTERVAL 1 WEEK)
Пожалуйста, избегайте использования FROM_UNIXTIME(last_loc_date) > DATE(NOW()) - INTERVAL 1 WEEK.Это условие не SARGable , если вы не используете индекс на основе функций.
FROM_UNIXTIME(last_loc_date) > DATE(NOW()) - INTERVAL 1 WEEK