Ce face MAKEDATE() și MAKETIME()
MAKEDATE() creează o dată pornind de la an și numărul zilei din an (1-366). MAKETIME() creează o valoare TIME din trei numere.
Sunt utile când datele vin despărțite în coloane numerice.
Parametri
| Parametru | Descriere |
|---|---|
an, zi_din_an |
Pentru MAKEDATE(). Ziua trebuie să fie mai mare decât 0. |
ora, minut, secunda |
Pentru MAKETIME(). |
Ce returnează
O valoare DATE, respectiv TIME.
Exemple
Exemplul 1: Construirea unei date și a unei ore
SELECT MAKEDATE(2026, 292) AS data, MAKETIME(14, 30, 5) AS ora, MAKEDATE(2026, 1) AS inceput_an;
Rezultat
+------------+----------+------------+
| data | ora | inceput_an |
+------------+----------+------------+
| 2026-10-19 | 14:30:05 | 2026-01-01 |
+------------+----------+------------+
Greșeli frecvente
- Folosești
MAKEDATE(an, luna)crezând că al doilea parametru e luna. Este ziua din an. Pentru an, lună și zi, construiește textulCONCAT(an, '-', luna, '-', zi).
Comenzi înrudite
DAYOFYEAR(): A câta zi din an este o dată (1-366).STR_TO_DATE(): Transformă un text într-o dată, după formatul în care este scris (ex. 19.10.2026).TIMESTAMP(): Transformă o expresie în DATETIME; cu doi parametri, adună o durată la o dată.