Ce face EXTRACT()
EXTRACT() este forma standard SQL pentru funcțiile YEAR(), MONTH(), DAY() etc. În plus, acceptă unități compuse, de exemplu YEAR_MONTH (202610) sau DAY_HOUR.
Parametri
| Parametru | Descriere |
|---|---|
unitate |
YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MICROSECOND sau o combinație ca YEAR_MONTH, DAY_HOUR, HOUR_MINUTE. |
data |
Data din care se extrage. |
Ce returnează
Un număr întreg.
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: Părți simple și compuse
SELECT EXTRACT(YEAR FROM '2026-10-19 14:30:00') AS an,
EXTRACT(MONTH FROM '2026-10-19 14:30:00') AS luna,
EXTRACT(YEAR_MONTH FROM '2026-10-19 14:30:00') AS an_luna,
EXTRACT(HOUR_MINUTE FROM '2026-10-19 14:30:00') AS ora_minut;
Rezultat
+------+------+---------+-----------+
| an | luna | an_luna | ora_minut |
+------+------+---------+-----------+
| 2026 | 10 | 202610 | 1430 |
+------+------+---------+-----------+
Exemplul 2: Vânzări pe luni
SELECT EXTRACT(YEAR_MONTH FROM plasata) AS luna, COUNT(*) AS comenzi
FROM comenzi
GROUP BY luna
ORDER BY luna;
Rezultat
+--------+---------+
| luna | comenzi |
+--------+---------+
| 202609 | 1 |
| 202610 | 2 |
| 202612 | 1 |
+--------+---------+
Greșeli frecvente
- Scrii
EXTRACT(YEAR, data)cu virgulă, ca la alte funcții. Sintaxa corectă folosește cuvântulFROM.
Comenzi înrudite
YEAR(): Returnează anul dintr-o dată (1000-9999).MONTH(): Returnează luna dintr-o dată, ca număr de la 1 la 12.DATE_FORMAT(): Afișează o dată în formatul dorit, ex. 19.10.2026 sau „Luni 19 Octombrie 2026”.