SQL: Quartalsbeginn und -ende für ein Jahr auflisten

Aus DBWiki
Wechseln zu: Navigation, Suche

Zurück zur Übersicht



Mittels Pivotisierung können, vom 1. Januar des Jahres ausgehend, die anderen Anfangsdaten der Quartale durch Hinzuaddieren von 3 Monaten ermittelt werden. Das Quartalsende liegt 3 Monate minus einem Tag nach dem Quartalsbeginn.


Im Beispiel sollen für das laufende Jahr diese Daten ermittelt werden.

Lösung für Jet-SQL

Hinweis für Access-Anwender
Um die folgende Abfrage selbst testen zu können, muss die Pivottabelle t1000 vorhanden sein.

SELECT DateSerial( Year( Now() ), 1 + 3 * n, 1 ) AS q_start,
       DateSerial( Year( Now() ), 4 + 3 * n, 0 ) AS q_ende
FROM   t1000
WHERE  n < 4

Lösung für PostgreSQL

SELECT dt::DATE AS q_start,
       (dt + INTERVAL '3 MONTH - 1 DAY')::DATE AS q_ende
FROM   generate_series( date_trunc( 'YEAR', CURRENT_DATE ),
                        date_trunc( 'YEAR', CURRENT_DATE ) + INTERVAL '9 MONTH',
                        INTERVAL '3 MONTH' ) AS dt
q_start q_ende
01.01.2018 31.03.2018
01.04.2018 30.06.2018
01.07.2018 30.09.2018
01.10.2018 31.12.2018



Zurück zur Übersicht