WEEKDAY
WEEKDAY(date)
Gibt den Wochentag als Zahl von 0 = Montag bis 6 = Sonntag zurück – das entspricht der ISO-Woche, die am Montag beginnt.
Parameter
- date – ein DATE- oder DATETIME-Wert oder eine Zeichenkette mit einem Datum.
Beispiele
Die Beispiele mit den Tabellen customers, products und orders verwenden die Beispieldatenbank aus der Serie SQL-Grundlagen.
SELECT WEEKDAY('2026-03-16') AS monday, WEEKDAY('2026-03-15') AS sunday, WEEKDAY('2026-03-18') < 5 AS working_day;
+--------+--------+-------------+ | monday | sunday | working_day | +--------+--------+-------------+ | 0 | 6 | 1 | +--------+--------+-------------+
Der Montag der Woche, in die das Datum fällt:
SELECT order_date, order_date - INTERVAL WEEKDAY(order_date) DAY AS week_monday FROM orders ORDER BY id LIMIT 4;
+------------+-------------+ | order_date | week_monday | +------------+-------------+ | 2026-01-05 | 2026-01-05 | | 2026-01-05 | 2026-01-05 | | 2026-01-12 | 2026-01-12 | | 2026-02-03 | 2026-02-02 | +------------+-------------+
Worauf Sie achten sollten
- Achten Sie auf die unterschiedliche Nummerierung: WEEKDAY() 0 = Montag, DAYOFWEEK() 1 = Sonntag.
- Die Funktion kennt keine Feiertage – Werktage mit Feiertagen brauchen eine eigene Tabelle.
Siehe auch:
DAYOFWEEK()
DAYNAME()