Při používání MySQL můžete použít LAST_DAY() funkce vrátit poslední den daného měsíce.
Můžete zadat aktuální datum nebo můžete zadat jiné zadané datum (například datum ze sloupce v databázi) a LAST_DAY() vrátí poslední den v měsíci pro toto datum.
Syntaxe
Syntaxe vypadá takto:
LAST_DAY(datum)
Kde date je datum, pro které chcete vrátit poslední den.
Příklad 1 – Základní použití
Zde je příklad, který demonstruje, jak to funguje.
SELECT LAST_DAY('2021-01-01'); Výsledek:
+------------------------+| LAST_DAY('2021-01-01') |+------------------------+| 2021-01-31 |+------------------------+ Vezme tedy zadané datum jako argument a vrátí poslední den daného měsíce.
Příklad 2 – Přestupné roky
Jak můžete očekávat, je dostatečně chytrý na to, aby si dokázal poradit s přestupnými roky.
Nepřestupný rok
SELECT LAST_DAY('2021-02-01'); Výsledek:
+------------------------+| LAST_DAY('2021-02-01') |+------------------------+| 2021-02-28 |+------------------------+ Přestupný rok
SELECT LAST_DAY('2020-02-01'); Výsledek:
+------------------------+| LAST_DAY('2020-02-01') |+------------------------+| 2020-02-29 |+------------------------+ Příklad 3 – Hodnoty data a času
Můžete také zadat datum a čas hodnotu.
SELECT LAST_DAY('2021-02-01 23:59:15'); Výsledek:
+---------------------------------+| LAST_DAY('2021-02-01 23:59:15') |+---------------------------------- +| 2021-02-28 |+---------------------------------+ Příklad 4 – Neplatné hodnoty
Pokud zadáte neplatné datum, bude vrácena hodnota null.
SELECT LAST_DAY('2021-02-32'); Výsledek:
+------------------------+| LAST_DAY('2021-02-32') |+------------------------+| NULL |+------------------------+1 řádek v sadě, 1 upozornění (0,00 s) Příklad 5 – Příklad databáze
Zde je příklad použití této funkce v databázovém dotazu.
USE sakila;SELECT payment_date AS 'Datum/Time', LAST_DAY(payment_date) AS 'Poslední den v měsíci'OD paymentWHERE payment_id =1;
Výsledek:
+---------------------+-------------------+| Datum/čas | Poslední den v měsíci |+---------------------+-------------------+| 2005-05-25 11:30:37 | 2005-05-31 |+---------------------+-------------------+