Exécuter une requête basée sur une période de temps

Salut à tous, j’écris juste une requête pour savoir qui n’a pas été vu au cours de la dernière année sur le forum, donc je voulais demander quelle serait la syntaxe. J’ai essayé last_seen_at > 2022:06:21 et j’ai obtenu une erreur.

Il voudra un horodatage plutôt qu’une date, donc quelque chose comme ceci :

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

Alternativement, vous pourriez CAST la 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

Ou vous pourriez ajouter un paramètre pour le rendre un peu plus polyvalent (celui-ci a une valeur par défaut) :

-- [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

5 « J'aime »

J’ai eu des erreurs avec l’horodatage, mais c’est peut-être parce que j’ai oublié les apostrophes.

2 « J'aime »