När du använder MySQL kan du använda LAST_DAY()
funktion för att returnera den sista dagen i en given månad.
Du kan ange det aktuella datumet, eller så kan du ange ett annat specificerat datum (till exempel ett datum från en kolumn i en databas), och LAST_DAY()
kommer att returnera den sista dagen i månaden för det datumet.
Syntax
Syntaxen ser ut så här:
LAST_DAY(date)
Där date
är det datum för vilket du vill att sista dagen ska returneras.
Exempel 1 – Grundläggande användning
Här är ett exempel för att visa hur det fungerar.
SELECT LAST_DAY('2021-01-01');
Resultat:
+------------------------+ | LAST_DAY('2021-01-01') | +------------------------+ | 2021-01-31 | +------------------------+
Så det tar datumet vi anger som ett argument, och returnerar sedan den sista dagen i den månaden.
Exempel 2 – skottår
Som du kanske förväntar dig är det smart nog att kunna hantera skottår.
Icke-skottår
SELECT LAST_DAY('2021-02-01');
Resultat:
+------------------------+ | LAST_DAY('2021-02-01') | +------------------------+ | 2021-02-28 | +------------------------+
Skotår
SELECT LAST_DAY('2020-02-01');
Resultat:
+------------------------+ | LAST_DAY('2020-02-01') | +------------------------+ | 2020-02-29 | +------------------------+
Exempel 3 – Datetime-värden
Du kan också ange en datumtid värde.
SELECT LAST_DAY('2021-02-01 23:59:15');
Resultat:
+---------------------------------+ | LAST_DAY('2021-02-01 23:59:15') | +---------------------------------+ | 2021-02-28 | +---------------------------------+
Exempel 4 – Ogiltiga värden
Om du anger ett ogiltigt datum kommer ett nollvärde att returneras.
SELECT LAST_DAY('2021-02-32');
Resultat:
+------------------------+ | LAST_DAY('2021-02-32') | +------------------------+ | NULL | +------------------------+ 1 row in set, 1 warning (0.00 sec)
Exempel 5 – Ett databasexempel
Här är ett exempel på att den här funktionen används i en databasfråga.
USE sakila; SELECT payment_date AS 'Date/Time', LAST_DAY(payment_date) AS 'Last day of month' FROM payment WHERE payment_id = 1;
Resultat:
+---------------------+-------------------+ | Date/Time | Last day of month | +---------------------+-------------------+ | 2005-05-25 11:30:37 | 2005-05-31 | +---------------------+-------------------+