DATE() în MySQL

Părțile unei date MySQL 5.0+

Extrage doar partea de dată dintr-o valoare DATETIME.

Sintaxă
DATE(expresie)

Ce face DATE()

DATE() taie ora și păstrează ziua: '2026-10-19 14:30:00' devine 2026-10-19. Este folosită la grupări pe zile și la comparații doar după dată.

Parametri

Parametru Descriere
expresie O valoare de tip dată sau dată-oră.

Ce returnează

O valoare DATE.

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: Comenzi pe zile

SELECT DATE(plasata) AS zi, COUNT(*) AS comenzi
FROM comenzi
GROUP BY zi
ORDER BY zi;

Rezultat

+------------+---------+
| zi         | comenzi |
+------------+---------+
| 2026-09-28 |       1 |
| 2026-10-05 |       1 |
| 2026-10-17 |       1 |
| 2026-12-30 |       1 |
+------------+---------+

Exemplul 2: Fără oră

SELECT DATE('2026-10-19 14:30:00') AS doar_data;

Rezultat

+------------+
| doar_data  |
+------------+
| 2026-10-19 |
+------------+

Greșeli frecvente

  • Scrii WHERE DATE(plasata) = '2026-10-05' pe un tabel mare. Funcția pe coloană oprește indexul. Varianta rapidă: WHERE plasata >= '2026-10-05' AND plasata < '2026-10-06'.

Comenzi înrudite

  • TIME(): Extrage doar ora dintr-o valoare de tip dată și oră.
  • DATE_FORMAT(): Afișează o dată în formatul dorit, ex. 19.10.2026 sau „Luni 19 Octombrie 2026”.
  • GROUP BY: Grupează rândurile cu aceeași valoare, ca să calculezi totaluri pentru fiecare grup.