Eine Abfrage basierend auf einem Zeitraum ausführen

Hallo zusammen, ich schreibe gerade eine Abfrage, um herauszufinden, wer im letzten Jahr nicht im Forum gesehen wurde, und wollte fragen, wie die Syntax lauten würde. Ich habe last_seen_at > 2022:06:21 versucht und eine Fehlermeldung erhalten.

Es wird ein Zeitstempel anstelle eines Datums benötigt, also etwas wie dies:

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

Alternativ können Sie das Datum mit CAST umwandeln:


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

Oder Sie können einen Parameter hinzufügen, um es etwas vielseitiger zu gestalten (dieser hat einen Standardwert):

-- [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 „Gefällt mir“

Ich habe Fehler mit dem Zeitstempel erhalten, aber das liegt vielleicht daran, dass ich die einfachen Anführungszeichen weggelassen habe.

2 „Gefällt mir“