Datumsfunktionen
Zuletzt geändert: 14.03.2026 11:31

Datumsfunktionen (EULANDA SQL-API) #

EULANDA stellt eine umfangreiche Bibliothek von Datums- und Zeitfunktionen bereit. Diese Funktionen berechnen Kalenderwochen nach europäischer Norm (ISO 8601), unterstützen Geschäftsjahre mit abweichendem Beginn und bieten Zugriff auf Perioden-Anfangs- und Enddaten.

Alle Funktionen werden als SELECT dbo.cnf_Funktionsname(Parameter) aufgerufen.

Kategorie Datum #

FunktionBeschreibung
cnf_DateEaster(@Jahr)Ostersonntag für das angegebene Jahr
cnf_DatumKurzDatum ohne Zeitanteil
cnf_EncodeDate(@Jahr, @Monat, @Tag)Datum aus Einzelwerten zusammensetzen
cnf_EncodeDateClip(@Jahr, @Monat, @Tag)Datum zusammensetzen mit Bereichsbegrenzung
cnf_EncodeDateWeek(@Jahr, @KW, @Wochentag)Datum aus Jahr, Kalenderwoche und Wochentag
cnf_EncodeDateWeekExt(@Jahr, @KW, @Wochentag)Erweiterte Version von EncodeDateWeek
cnf_IsValidDate(@Jahr, @Monat, @Tag)Prüft, ob die Werte ein gültiges Datum ergeben
cnf_OdbcDateStrToDateTime(@OdbcDate)ODBC-Datumsstring in DateTime konvertieren
cnf_OdbcDateTimeStrToDateTime(@OdbcDateTime)ODBC-DateTime-String konvertieren
cnf_PatchDate(@Datum, @Jahr, @Monat, @Tag)Einzelne Datumskomponenten ersetzen
cnf_StartOfDayPeriod(@Datum, @Tage)Beginn einer n-Tage-Periode
cnf_TryEncodeDate(@Jahr, @Monat, @Tag)Datum zusammensetzen, NULL bei ungültigen Werten

Kategorie Feiertage #

FunktionBeschreibung
cnf_DateEaster(@Jahr)Ostersonntag – Basis für die Berechnung beweglicher Feiertage

Kategorie Woche #

FunktionBeschreibung
cnf_DayOfTheWeek(@Datum)Wochentag (1=Montag, 7=Sonntag)
cnf_EndOfAWeek(@Jahr, @KW)Letzter Tag einer bestimmten Kalenderwoche
cnf_EndOfTheWeek(@Datum)Letzter Tag der Woche des angegebenen Datums
cnf_KWKalenderwoche nach europäischer Norm
cnf_StartOfAWeek(@Jahr, @KW)Erster Tag einer bestimmten Kalenderwoche
cnf_StartOfAWeekExt(@Jahr, @KW)Erweiterte Version von StartOfAWeek
cnf_StartOfTheWeekErster Tag der Woche des angegebenen Datums
cnf_WeekOf(@Datum)Kalenderwoche eines Datums
cnf_WeeksInAYear(@Jahr)Anzahl der Kalenderwochen in einem Jahr
cnf_WeeksInYear(@Jahr)Alias für WeeksInAYear
cnf_YearOfTheWeek(@Datum)Jahr der Kalenderwoche (kann vom Kalenderjahr abweichen)

Kategorie Monat #

FunktionBeschreibung
cnf_DaysInAMonth(@Jahr, @Monat)Anzahl der Tage in einem bestimmten Monat
cnf_DaysInMonth(@Datum)Anzahl der Tage im Monat des angegebenen Datums
cnf_EndOfAMonth(@Jahr, @Monat)Letzter Tag eines bestimmten Monats
cnf_EndOfTheMonth(@Datum)Letzter Tag des Monats des angegebenen Datums
cnf_StartOfAMonth(@Jahr, @Monat)Erster Tag eines bestimmten Monats
cnf_StartOfTheMonth(@Datum)Erster Tag des Monats des angegebenen Datums

Kategorie Jahr #

FunktionBeschreibung
cnf_DaysInAYear(@Jahr)Anzahl der Tage in einem bestimmten Jahr
cnf_DaysInYear(@Datum)Anzahl der Tage im Jahr des angegebenen Datums
cnf_EndOfAYear(@Jahr)Letzter Tag eines bestimmten Jahres
cnf_EndOfTheYear(@Datum)Letzter Tag des Jahres des angegebenen Datums
cnf_IsInLeapYear(@Datum)Prüft, ob das Datum in einem Schaltjahr liegt
cnf_IsLeapYear(@Jahr)Prüft, ob ein Jahr ein Schaltjahr ist
cnf_Jahr(@Datum)Jahr eines Datums
cnf_StartOfAYear(@Jahr)Erster Tag eines bestimmten Jahres
cnf_StartOfTheYear(@Datum)Erster Tag des Jahres des angegebenen Datums

Kategorie Tag #

FunktionBeschreibung
cnf_EndOfADay(@Datum)Ende eines Tages (23:59:59.997)
cnf_EndOfTheDay(@Datum)Ende des aktuellen Tages
cnf_IsSameDay(@Datum1, @Datum2)Prüft, ob zwei Datumswerte denselben Tag bezeichnen
cnf_StartOfTheDay(@Datum)Beginn des Tages (00:00:00)

Kategorie Geschäftsjahr (Fiskal) #

Geschäftsjahre können in EULANDA von einem beliebigen Monat aus beginnen. Der Offset wird über cnf_FiscalYearOffset ermittelt.

FunktionBeschreibung
cnf_EndOfAFiscalMonth(@FiskalJahr, @FiskalMonat)Ende eines Geschäftsmonats
cnf_EndOfAFiscalQuarter(@FiskalJahr, @FiskalQuartal)Ende eines Geschäftsquartals
cnf_EndOfAFiscalYear(@FiskalJahr)Ende eines Geschäftsjahres
cnf_EndOfTheFiscalMonth(@Datum)Ende des aktuellen Geschäftsmonats
cnf_EndOfTheFiscalQuarter(@Datum)Ende des aktuellen Geschäftsquartals
cnf_EndOfTheFiscalYear(@Datum)Ende des aktuellen Geschäftsjahres
cnf_FiscalMonthOf(@Datum)Geschäftsmonat eines Datums
cnf_FiscalQuarterOf(@Datum)Geschäftsquartal eines Datums
cnf_FiscalYearOf(@Datum)Geschäftsjahr eines Datums
cnf_FiscalYearOffset()Monats-Offset des Geschäftsjahresbeginns
cnf_StartOfAFiscalMonth(@FiskalJahr, @FiskalMonat)Beginn eines Geschäftsmonats
cnf_StartOfAFiscalQuarter(@FiskalJahr, @FiskalQuartal)Beginn eines Geschäftsquartals
cnf_StartOfAFiscalYear(@FiskalJahr)Beginn eines Geschäftsjahres
cnf_StartOfTheFiscalMonth(@Datum)Beginn des aktuellen Geschäftsmonats
cnf_StartOfTheFiscalQuarter(@Datum)Beginn des aktuellen Geschäftsquartals
cnf_StartOfTheFiscalYear(@Datum)Beginn des aktuellen Geschäftsjahres

Kategorie Quartal #

FunktionBeschreibung
cnf_EndOfAQuarter(@Jahr, @Quartal)Ende eines bestimmten Quartals
cnf_EndOfTheQuarter(@Datum)Ende des Quartals des angegebenen Datums
cnf_QuarterOf(@Datum)Quartal eines Datums (1-4)
cnf_StartOfAQuarter(@Jahr, @Quartal)Beginn eines bestimmten Quartals
cnf_StartOfTheQuarter(@Datum)Beginn des Quartals des angegebenen Datums

Kategorie Heute #

FunktionBeschreibung
cnf_Heute()Heutiges Datum ohne Zeitanteil

Kategorie Zeit #

FunktionBeschreibung
cnf_IsPM(@Datum)Prüft, ob die Uhrzeit nach 12:00 liegt
cnf_EndOfMEST(@Jahr)Ende der Mitteleuropäischen Sommerzeit
cnf_StartOfMEST(@Jahr)Beginn der Mitteleuropäischen Sommerzeit

Beispiel #

-- Alle Aufträge der aktuellen Kalenderwoche
SELECT KopfNummer, Datum
FROM Auftrag
WHERE Datum >= dbo.cnf_StartOfTheWeek(GETDATE())
  AND Datum < DATEADD(day, 7, dbo.cnf_StartOfTheWeek(GETDATE()))

-- Umsätze des laufenden Geschäftsjahres
SELECT SUM(GesPreis) AS Umsatz
FROM STAT_RechnungPos
WHERE Datum >= dbo.cnf_StartOfTheFiscalYear(GETDATE())

-- Ostersonntag 2026
SELECT dbo.cnf_DateEaster(2026)