Når du bruger MySQL, kan du bruge LAST_DAY()
funktion for at returnere den sidste dag i en given måned.
Du kan angive den aktuelle dato, eller du kan angive en anden specificeret dato (f.eks. en dato fra en kolonne i en database), og LAST_DAY()
returnerer den sidste dag i måneden for den dato.
Syntaks
Syntaksen ser sådan ud:
LAST_DAY(date)
Hvor date
er den dato, du ønsker, at den sidste dag skal returneres for.
Eksempel 1 – Grundlæggende brug
Her er et eksempel for at demonstrere, hvordan det fungerer.
SELECT LAST_DAY('2021-01-01');
Resultat:
+------------------------+ | LAST_DAY('2021-01-01') | +------------------------+ | 2021-01-31 | +------------------------+
Så det tager den dato, vi angiver, som et argument, og returnerer derefter den sidste dag i den måned.
Eksempel 2 – skudår
Som du måske forventer, er det smart nok til at kunne håndtere skudår.
Ikke-skudår
SELECT LAST_DAY('2021-02-01');
Resultat:
+------------------------+ | LAST_DAY('2021-02-01') | +------------------------+ | 2021-02-28 | +------------------------+
Skipår
SELECT LAST_DAY('2020-02-01');
Resultat:
+------------------------+ | LAST_DAY('2020-02-01') | +------------------------+ | 2020-02-29 | +------------------------+
Eksempel 3 – Dato-tidsværdier
Du kan også angive en datotid værdi.
SELECT LAST_DAY('2021-02-01 23:59:15');
Resultat:
+---------------------------------+ | LAST_DAY('2021-02-01 23:59:15') | +---------------------------------+ | 2021-02-28 | +---------------------------------+
Eksempel 4 – Ugyldige værdier
Hvis du angiver en ugyldig dato, returneres en nulværdi.
SELECT LAST_DAY('2021-02-32');
Resultat:
+------------------------+ | LAST_DAY('2021-02-32') | +------------------------+ | NULL | +------------------------+ 1 row in set, 1 warning (0.00 sec)
Eksempel 5 – Et databaseeksempel
Her er et eksempel på, at denne funktion bruges i en databaseforespørgsel.
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 | +---------------------+-------------------+