Всем привет, пишу запрос, чтобы узнать, кто не заходил на форум в течение последнего года, поэтому хотел спросить, какой синтаксис для этого использовать. Попробовал last_seen_at > 2022:06:21, но получил ошибку.
Ожидается временная метка, а не дата, поэтому что-то вроде этого:
SELECT id AS user_id,
last_seen_at::date
FROM users
WHERE last_seen_at < '2022-06-21T00:00:00Z'
ORDER BY last_seen_at DESC
В качестве альтернативы можно привести дату к типу DATE:
SELECT id AS user_id,
last_seen_at::date
FROM users
WHERE last_seen_at < CAST('2022-06-21' AS date)
ORDER BY last_seen_at DESC
Или можно добавить параметр, чтобы сделать запрос более универсальным (в этом примере есть значение по умолчанию):
-- [params]
-- date :date = 21/06/2022
SELECT id AS user_id,
last_seen_at::date
FROM users
WHERE last_seen_at < :date
ORDER BY last_seen_at DESC
У меня возникли ошибки с временной меткой, но, возможно, это потому, что я забыл поставить одинарные кавычки.