YEARWEEK() în MySQL

Părțile unei date MySQL 5.0+

Anul și săptămâna într-un singur număr (ex. 202643), sigur pentru grupări pe săptămâni.

Sintaxă
YEARWEEK(data[, mod])

Ce face YEARWEEK()

YEARWEEK() combină anul și săptămâna, așa că zilele de la granița dintre ani ajung în săptămâna corectă. Parametrul mod are același sens ca la WEEK(); pentru ISO folosește 3.

Parametri

Parametru Descriere
data Data analizată.
mod Opțional. Ca la WEEK().

Ce returnează

Un număr de forma AAAASS.

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: 1 ianuarie 2026 aparține săptămânii 52 din 2025 în modul 0

SELECT YEARWEEK('2026-01-01') AS mod_0, YEARWEEK('2026-01-01', 3) AS mod_iso;

Rezultat

+--------+---------+
| mod_0  | mod_iso |
+--------+---------+
| 202552 |  202601 |
+--------+---------+

Exemplul 2: Comenzi pe săptămâni

SELECT YEARWEEK(plasata, 3) AS saptamana, COUNT(*) AS comenzi
FROM comenzi
GROUP BY saptamana
ORDER BY saptamana;

Rezultat

+-----------+---------+
| saptamana | comenzi |
+-----------+---------+
|    202640 |       1 |
|    202641 |       1 |
|    202642 |       1 |
|    202653 |       1 |
+-----------+---------+

Greșeli frecvente

  • Uiți modul și obții săptămâni americane, cu duminica prima zi.

Comenzi înrudite

  • WEEK(): Numărul săptămânii din an; parametrul mod alege prima zi și regula pentru prima săptămână.
  • WEEKOFYEAR(): Numărul săptămânii ISO (1-53); echivalent cu WEEK(data, 3).
  • GROUP BY: Grupează rândurile cu aceeași valoare, ca să calculezi totaluri pentru fiecare grup.