Wenn Sie MySQL verwenden, können Sie LAST_DAY()
verwenden Funktion, um den letzten Tag eines bestimmten Monats zurückzugeben.
Sie können das aktuelle Datum oder ein anderes angegebenes Datum (z. B. ein Datum aus einer Spalte in einer Datenbank) und LAST_DAY()
angeben gibt den letzten Tag des Monats für dieses Datum zurück.
Syntax
Die Syntax lautet wie folgt:
LAST_DAY(date)
Wobei date
ist das Datum, für das der letzte Tag zurückgegeben werden soll.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel, um die Funktionsweise zu demonstrieren.
SELECT LAST_DAY('2021-01-01');
Ergebnis:
+------------------------+ | LAST_DAY('2021-01-01') | +------------------------+ | 2021-01-31 | +------------------------+
Es nimmt also das von uns angegebene Datum als Argument und gibt dann den letzten Tag dieses Monats zurück.
Beispiel 2 – Schaltjahre
Wie zu erwarten, ist es intelligent genug, um mit Schaltjahren umgehen zu können.
Nicht-Schaltjahr
SELECT LAST_DAY('2021-02-01');
Ergebnis:
+------------------------+ | LAST_DAY('2021-02-01') | +------------------------+ | 2021-02-28 | +------------------------+
Schaltjahr
SELECT LAST_DAY('2020-02-01');
Ergebnis:
+------------------------+ | LAST_DAY('2020-02-01') | +------------------------+ | 2020-02-29 | +------------------------+
Beispiel 3 – Datetime-Werte
Sie können auch eine datetime angeben Wert.
SELECT LAST_DAY('2021-02-01 23:59:15');
Ergebnis:
+---------------------------------+ | LAST_DAY('2021-02-01 23:59:15') | +---------------------------------+ | 2021-02-28 | +---------------------------------+
Beispiel 4 – Ungültige Werte
Wenn Sie ein ungültiges Datum angeben, wird ein Nullwert zurückgegeben.
SELECT LAST_DAY('2021-02-32');
Ergebnis:
+------------------------+ | LAST_DAY('2021-02-32') | +------------------------+ | NULL | +------------------------+ 1 row in set, 1 warning (0.00 sec)
Beispiel 5 – Ein Datenbankbeispiel
Hier ist ein Beispiel für die Verwendung dieser Funktion in einer Datenbankabfrage.
USE sakila; SELECT payment_date AS 'Date/Time', LAST_DAY(payment_date) AS 'Last day of month' FROM payment WHERE payment_id = 1;
Ergebnis:
+---------------------+-------------------+ | Date/Time | Last day of month | +---------------------+-------------------+ | 2005-05-25 11:30:37 | 2005-05-31 | +---------------------+-------------------+