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
#
| Funktion | Beschreibung |
|---|
cnf_DateEaster(@Jahr) | Ostersonntag für das angegebene Jahr |
| cnf_DatumKurz | Datum 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
#
| Funktion | Beschreibung |
|---|
cnf_DateEaster(@Jahr) | Ostersonntag – Basis für die Berechnung beweglicher Feiertage |
Kategorie Woche
#
| Funktion | Beschreibung |
|---|
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_KW | Kalenderwoche nach europäischer Norm |
cnf_StartOfAWeek(@Jahr, @KW) | Erster Tag einer bestimmten Kalenderwoche |
cnf_StartOfAWeekExt(@Jahr, @KW) | Erweiterte Version von StartOfAWeek |
| cnf_StartOfTheWeek | Erster 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
#
| Funktion | Beschreibung |
|---|
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
#
| Funktion | Beschreibung |
|---|
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
#
| Funktion | Beschreibung |
|---|
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.
| Funktion | Beschreibung |
|---|
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
#
| Funktion | Beschreibung |
|---|
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
#
| Funktion | Beschreibung |
|---|
cnf_Heute() | Heutiges Datum ohne Zeitanteil |
Kategorie Zeit
#
| Funktion | Beschreibung |
|---|
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)