Ce face WEEKDAY()
WEEKDAY() începe săptămâna cu lunea, care primește 0. Este numărătoarea potrivită pentru calendarele din România.
Parametri
| Parametru | Descriere |
|---|---|
data |
Data analizată. |
Ce returnează
Un număr de la 0 la 6.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE comenzi (
id INT PRIMARY KEY,
client VARCHAR(30),
plasata DATETIME,
livrata DATETIME
);
INSERT INTO comenzi VALUES
(101, 'Ana', '2026-09-28 09:15:00', '2026-10-01 14:20:00'),
(102, 'Bogdan', '2026-10-05 18:40:00', '2026-10-06 10:05:00'),
(103, 'Cristina', '2026-10-17 22:10:00', NULL),
(104, 'Dan', '2026-12-30 11:00:00', '2027-01-04 16:30:00');
Exemplul 1: Zile lucrătoare sau weekend
SELECT id, DATE(plasata) AS data,
IF(WEEKDAY(plasata) < 5, 'lucrătoare', 'weekend') AS tip_zi
FROM comenzi
ORDER BY id;
Rezultat
+-----+------------+-------------+
| id | data | tip_zi |
+-----+------------+-------------+
| 101 | 2026-09-28 | lucrătoare |
| 102 | 2026-10-05 | lucrătoare |
| 103 | 2026-10-17 | weekend |
| 104 | 2026-12-30 | lucrătoare |
+-----+------------+-------------+
Exemplul 2: Lunea săptămânii unei date
SELECT DATE_SUB('2026-10-22', INTERVAL WEEKDAY('2026-10-22') DAY) AS luni;
Rezultat
+------------+
| luni |
+------------+
| 2026-10-19 |
+------------+
Greșeli frecvente
- Amesteci
WEEKDAY()(luni = 0) cuDAYOFWEEK()(duminică = 1) în același proiect. Alege una și folosește-o peste tot.
Comenzi înrudite
DAYOFWEEK(): Numărul zilei din săptămână: 1 = duminică, 2 = luni, …, 7 = sâmbătă.DAYNAME(): Returnează numele zilei din săptămână; în română cu lc_time_names = ‘ro_RO’.DATE_SUB(): Scade un interval dintr-o dată, de exemplu „acum 30 de zile”.