Ce face DATE_FORMAT()
DATE_FORMAT() transformă o dată în text după un șablon. Coduri uzuale: %d ziua (01-31), %e ziua fără zero, %m luna (01-12), %Y anul, %H ora (00-23), %i minutele, %s secundele, %W numele zilei, %M numele lunii.
Numele zilelor și lunilor apar în limba din lc_time_names; cu 'ro_RO' ies în română.
Parametri
| Parametru | Descriere |
|---|---|
data |
Data formatată. |
format |
Șablonul, cu coduri care încep cu %. |
Ce returnează
Textul formatat.
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: Format românesc numeric
SELECT id, DATE_FORMAT(plasata, '%d.%m.%Y %H:%i') AS plasata
FROM comenzi
ORDER BY id;
Rezultat
+-----+------------------+
| id | plasata |
+-----+------------------+
| 101 | 28.09.2026 09:15 |
| 102 | 05.10.2026 18:40 |
| 103 | 17.10.2026 22:10 |
| 104 | 30.12.2026 11:00 |
+-----+------------------+
Exemplul 2: Nume de zile și luni în română
SELECT DATE_FORMAT('2026-10-19 14:30:05', '%W %e %M %Y') AS engleza;
SET lc_time_names = 'ro_RO';
SELECT DATE_FORMAT('2026-10-19 14:30:05', '%W, %e %M %Y, ora %H:%i') AS romana;
Rezultat
+------------------------+
| engleza |
+------------------------+
| Monday 19 October 2026 |
+------------------------+
+------------------------------------+
| romana |
+------------------------------------+
| Luni, 19 Octombrie 2026, ora 14:30 |
+------------------------------------+
Greșeli frecvente
- Folosești
%Mpentru minute.%Meste numele lunii; minutele sunt%i. - Sortezi după rezultatul lui
DATE_FORMAT(data, '%d.%m.%Y'). Ordinea devine alfabetică după zi. Sortează după coloana originală.
Comenzi înrudite
STR_TO_DATE(): Transformă un text într-o dată, după formatul în care este scris (ex. 19.10.2026).TIME_FORMAT(): Formatează o oră sau o durată, cu codurile pentru ore, minute și secunde.GET_FORMAT(): Returnează șablonul de format standard pentru o regiune, gata de folosit în DATE_FORMAT().