MS SQL-Server > Lösungen, Rezepte, Tipps, Fragen
Aktuellen Wochentag berechnen
--SET DATEFIRST 7 -- Ersten Tag der Woche festlegen (davon hängt DATEPART(weekday) ab)
-- 1 = Montag
-- 2 = Dienstag
-- 3 = Mittwoch
-- 4 = Donnerstag
-- 5 = Freitag
-- 6 = Samstag
-- 7 = Sonntag (Default bei EN-US)
SELECT
@@DATEFIRST
SELECT
DATEPART(weekday, GETDATE())
-- Berechne ein von @@DATEFIRST unabhängiges Ergebnis - liefert immer:
-- 1 = Montag
-- 2 = Dienstag
-- 3 = Mittwoch
-- 4 = Donnerstag
-- 5 = Freitag
-- 6 = Samstag
-- 7 = Sonntag
DECLARE
@IndependentDayOfWeek
INT
;
SET
@IndependentDayOfWeek = (@@DATEFIRST + DATEPART(weekday, GETDATE()) - 1) % 7;
SET
@IndependentDayOfWeek =
CASE
WHEN
@IndependentDayOfWeek = 0
THEN
7
ELSE
@IndependentDayOfWeek
END
;
-- Sonntag ist 0 bei der obigen Berechnung und wird auf die SQL interne Nummer umgestellt
SELECT
@IndependentDayOfWeek;