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()