Datumsfragen - das geliebte Vorjahr
Für die Ermittlung des Vorjahres gibt es eine Reihe von Funktionen, die den Umgang mit dem Datum erleichtern können.
Anbei ein Beispiel zur Ermittlung des äquivalenten Tages im Vorjahr (für tagesbezogene Vorjahresvergleiche:
select to_char(AJ.datum,'Dy dd.mm.yyyy') AJ,
to_char( AJ.datum - (AJ.datum - to_date(to_char(AJ.DATUM,'yyyy') - 1||to_char(AJ.DATUM,'mmdd'),'yyyymmdd')) ,'Dy dd.mm.yyyy') VJ1,
to_char( ADD_MONTHS(AJ.datum, -12) ,'Dy dd.mm.yyyy') VJ2,
to_char( AJ.datum - 364 ,'Dy dd.mm.yyyy') VJ_MO_MO,
AJ.datum - to_date(to_char(AJ.DATUM,'yyyy') - 1||to_char(AJ.DATUM,'mmdd'),'yyyymmdd') TAGE_DIFF
from TZ_TAGESZAHLENTEST1 AJ
AJ - steht für Tag im aktuellen Jahr
VJ1 - ermittelt den Tag im Vorjahr (VJ) indem vom Jahr eins abgezogen wird und daraus das VJ-Datum wieder "zusammengebaut" wird. !!!=> dies Scheitert im Schaltjahr !!!
VJ2 - macht das selbe wie VJ1, jedoch mit der Datumsfunktion ADD_MONTHS - Erfolgreich auch im Schaltjahr
VJ_MO_MO - zeigt einen Weg, die selben WOCHENtage von aktuellem und Vorjahr zu vergleichen (Vorjahresbetrachtungen)
Spannend wird der Unterschied bei diesen Funktionen am Monatsende und am 28.Feb/29.Feb/01.März - :-)
Anbei ein Beispiel zur Ermittlung des äquivalenten Tages im Vorjahr (für tagesbezogene Vorjahresvergleiche:
select to_char(AJ.datum,'Dy dd.mm.yyyy') AJ,
to_char( AJ.datum - (AJ.datum - to_date(to_char(AJ.DATUM,'yyyy') - 1||to_char(AJ.DATUM,'mmdd'),'yyyymmdd')) ,'Dy dd.mm.yyyy') VJ1,
to_char( ADD_MONTHS(AJ.datum, -12) ,'Dy dd.mm.yyyy') VJ2,
to_char( AJ.datum - 364 ,'Dy dd.mm.yyyy') VJ_MO_MO,
AJ.datum - to_date(to_char(AJ.DATUM,'yyyy') - 1||to_char(AJ.DATUM,'mmdd'),'yyyymmdd') TAGE_DIFF
from TZ_TAGESZAHLENTEST1 AJ
AJ - steht für Tag im aktuellen Jahr
VJ1 - ermittelt den Tag im Vorjahr (VJ) indem vom Jahr eins abgezogen wird und daraus das VJ-Datum wieder "zusammengebaut" wird. !!!=> dies Scheitert im Schaltjahr !!!
VJ2 - macht das selbe wie VJ1, jedoch mit der Datumsfunktion ADD_MONTHS - Erfolgreich auch im Schaltjahr
VJ_MO_MO - zeigt einen Weg, die selben WOCHENtage von aktuellem und Vorjahr zu vergleichen (Vorjahresbetrachtungen)
Spannend wird der Unterschied bei diesen Funktionen am Monatsende und am 28.Feb/29.Feb/01.März - :-)
Kommentare
Kommentar veröffentlichen