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 |+---------------------+-------------------+