Heim > Datenbank > MySQL-Tutorial > Wie erhalte ich den letzten Tag des vorherigen Monats in PostgreSQL?

Wie erhalte ich den letzten Tag des vorherigen Monats in PostgreSQL?

Susan Sarandon
Freigeben: 2025-01-06 09:24:41
Original
998 Leute haben es durchsucht

How to Get the Last Day of the Previous Month in PostgreSQL?

Bestimmen des letzten Tages des vorherigen Monats in PostgreSQL

Beim Abfragen einer Datenbank zum Abrufen von Datensätzen innerhalb eines bestimmten Datumsbereichs ist es häufig erforderlich, den letzten Tag einzubeziehen des Vormonats. Dieser Bereich kann je nach aktuellem Datum jeden Monat variieren.

Ohne Funktion

Um den letzten Tag des Vormonats ohne Verwendung einer Funktion zu ermitteln, können Sie die folgende Abfrage für a verwenden Datumsspalte:

SELECT *
FROM tbl
WHERE my_date BETWEEN date_trunc('month', now())::date - 1
               AND     now()::date
Nach dem Login kopieren

Die Funktion date_trunc('month', now()) gibt den ersten Tag des aktuellen Monats zurück. Indem wir mit dem Subtraktionsoperator einen Tag von diesem Ergebnis subtrahieren, erhalten wir den letzten Tag des Vormonats.

Für eine Zeitstempelspalte ist die Abfrage etwas anders:

SELECT *
FROM tbl
WHERE my_timestamp >= date_trunc('month', now()) - interval '1 day'
AND    my_timestamp <  date_trunc('day'  , now()) + interval '1 day'
Nach dem Login kopieren

Date_trunc Die Funktion ('month', now()) gibt den Beginn des aktuellen Monats als Zeitstempel zurück. Um den letzten Tag des Vormonats zu erhalten, subtrahieren wir einen Tag mithilfe des Ausdrucks - Intervall '1 Tag'.

Für die zweite Bedingung addieren wir einen Tag zum date_trunc('day' , now()) ) Ergebnis unter Verwendung des Intervalls „1 Tag“, um sicherzustellen, dass der Bereich „heute“ vollständig umfasst.

Mit einer Funktion

Wenn Sie lieber eine Funktion verwenden möchten, können Sie die verwenden LAST_DAY()-Funktion, um das gleiche Ergebnis zu erzielen:

SELECT *
FROM tbl
WHERE my_date BETWEEN LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH)) AND NOW()
Nach dem Login kopieren

Diese Funktion berechnet explizit den letzten Tag des Vormonats basierend auf dem aktuellen Datum.

Das obige ist der detaillierte Inhalt vonWie erhalte ich den letzten Tag des vorherigen Monats in PostgreSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage