Quartalsberechnungen

By

Posted on Mai 19, 2011 von in SQL Server

Heute mal ein kleiner Ausflug in die Datumsarithmetik um Anfang und Ende eines Quartals zu berechnen.

Aufgabe war es Anfang und Ende des vorherigen Quartals zu berechnen. Im folgenden gebe ich zuerst das Endergebnis aus, bevor ich im zweiten SQL die einzelnen Berechnungsschritte verdeutlichen möchte.

SELECT DATEADD(qq,DATEDIFF(qq,0,GETDATE())-1,0) AS FirstDayOfLastQuarter
, DATEADD(qq,DATEDIFF(qq,0,GETDATE()),-1) AS LastDayOfLastQuarter
, DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0) AS FirstDayOfQuarter
, DATEADD(qq,DATEDIFF(qq,0,GETDATE())+1,-1) AS LastDayOfQuarter ;

Das Ergebnis sieht dann wie folgt aus:

Hier nun die einzelnen Schritte um zu verdeutlichen, wie man zu dem Ergebnis kommt:

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()) , 0) AS Heute
, DATEDIFF(qq,0,GETDATE()) AS [Quartale Seit Anfang = X]
, CAST(0 AS DATETIME) AS Anfang
, DATEADD(qq,DATEDIFF(qq,0,GETDATE())-1,0) AS [Anfang Plus X-1 Quartale]
, DATEADD(qq,DATEDIFF(qq,0,GETDATE()),-1) AS [Anfang Plus X Quartale -1 Tag]
, DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0) AS [Anfang Plus X Quartale +0 Tage]
, DATEADD(qq,DATEDIFF(qq,0,GETDATE())+1,-1) AS [Anfang Plus X+1 Quartale -1 Tag];

Hier kommt das Ergebnis:

Tags: Tags: reportingt-sql
Dieser Eintrag wurde eingetragen von und ist abgelegt unter SQL Server. Tags: reporting, t-sql

Noch kein Feedback


Formular wird geladen...