TO_DAYS() și FROM_DAYS() în MySQL

Transformă o dată în numărul de zile de la anul 0 și înapoi.

Sintaxă
TO_DAYS(data)
FROM_DAYS(numar_zile)

Ce face TO_DAYS() și FROM_DAYS()

TO_DAYS() numără zilele de la anul 0 până la dată. FROM_DAYS() face conversia inversă. Diferența dintre două valori TO_DAYS() este numărul de zile dintre date.

Funcțiile sunt gândite pentru calendarul gregorian modern; pentru date dinainte de 1582 rezultatele nu sunt istorice exacte.

Parametri

Parametru Descriere
data Data convertită.
numar_zile Numărul de zile convertit înapoi în dată.

Ce returnează

Un număr întreg, respectiv o dată.

Exemple

Exemplul 1: Conversie și diferență de zile

SELECT TO_DAYS('2026-10-19') AS zile,
       FROM_DAYS(740270) AS data,
       TO_DAYS('2026-12-25') - TO_DAYS('2026-10-19') AS pana_la_craciun;

Rezultat

+--------+------------+-----------------+
| zile   | data       | pana_la_craciun |
+--------+------------+-----------------+
| 740273 | 2026-10-16 |              67 |
+--------+------------+-----------------+

Greșeli frecvente

  • Folosești TO_DAYS() doar ca să afli diferența dintre două date. DATEDIFF() face asta direct și mai clar.

Comenzi înrudite

  • DATEDIFF(): Numărul de zile dintre două date (data1 – data2), ignorând orele.
  • TO_SECONDS(): Numărul de secunde de la anul 0 până la o dată sau dată-oră.
  • MAKEDATE() și MAKETIME(): Construiesc o dată din an și ziua din an, respectiv o oră din ore, minute și secunde.