Выполнить запрос на основе временного диапазона

Всем привет, пишу запрос, чтобы узнать, кто не заходил на форум в течение последнего года, поэтому хотел спросить, какой синтаксис для этого использовать. Попробовал 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

У меня возникли ошибки с временной меткой, но, возможно, это потому, что я забыл поставить одинарные кавычки.