LAST_DAY() în MySQL

Calcule cu date MySQL 5.0+

Returnează ultima zi a lunii unei date (ține cont de anii bisecți).

Sintaxă
LAST_DAY(data)

Ce face LAST_DAY()

LAST_DAY() dă data ultimei zile din luna respectivă. Este utilă pentru scadențe la final de lună și pentru a afla câte zile are o lună.

Parametri

Parametru Descriere
data O dată din luna dorită.

Ce returnează

O valoare DATE.

Exemple

Exemplul 1: Ultima zi și numărul de zile din lună

SELECT LAST_DAY('2026-10-19') AS octombrie,
       LAST_DAY('2028-02-10') AS februarie_bisect,
       DAY(LAST_DAY('2026-02-01')) AS zile_februarie_2026;

Rezultat

+------------+------------------+---------------------+
| octombrie  | februarie_bisect | zile_februarie_2026 |
+------------+------------------+---------------------+
| 2026-10-31 | 2028-02-29       |                  28 |
+------------+------------------+---------------------+

Exemplul 2: Prima zi a lunii

SELECT LAST_DAY('2026-10-19' - INTERVAL 1 MONTH) + INTERVAL 1 DAY AS prima_zi;

Rezultat

+------------+
| prima_zi   |
+------------+
| 2026-10-01 |
+------------+

Greșeli frecvente

  • Calculezi finalul lunii cu „ziua 30” sau „ziua 31”. Lunile au lungimi diferite; LAST_DAY() face calculul corect.

Comenzi înrudite

  • DAYOFMONTH(): Returnează ziua din lună (1-31) a unei date.
  • DATE_ADD(): Adaugă un interval (zile, luni, ani, ore etc.) la o dată.
  • MAKEDATE() și MAKETIME(): Construiesc o dată din an și ziua din an, respectiv o oră din ore, minute și secunde.