Du kan bruge MONTH()
funktion i MySQL for at returnere måneden fra en dato.
I denne sammenhæng er måneden en værdi mellem 1 og 12 (eller 0 for datoer med en nul månedsdel).
For eksempel, hvis du angiver en dato 2018-10-07 , MONTH()
funktion vil returnere 10 .
Syntaks
Syntaksen ser sådan ud:
MONTH(date)
Hvor date
er den datoværdi, du vil have måneden returneret fra.
Eksempel
Her er et eksempel til at demonstrere.
SELECT MONTH('2020-12-18') AS 'Result';
Resultat:
+--------+ | Result | +--------+ | 12 | +--------+
Hvis månedsdelen har et indledende nul, udelades det indledende nul fra resultatet. Eksempel:
SELECT MONTH('2020-07-18') AS 'Result';
Resultat:
+--------+ | Result | +--------+ | 7 | +--------+
Et databaseeksempel
I dette eksempel udtrækker jeg månedsdelen fra en kolonne, når jeg kører en forespørgsel mod en database.
USE sakila; SELECT payment_date AS 'Date/Time', MONTH(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Resultat:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | 5 | +---------------------+-------+
Aktuel dato/klokkeslæt
Her er et eksempel på udtrækning af månedsdelen fra den aktuelle dato og klokkeslæt (som returneres ved hjælp af NOW()
funktion).
SELECT NOW(), MONTH(NOW());
Resultat:
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2018-06-29 14:44:38 | 6 | +---------------------+--------------+
En anden måde at gøre dette på er at bruge CURDATE()
funktion, som kun returnerer datoen (men ikke klokkeslættet).
SELECT CURDATE(), MONTH(CURDATE());
Resultat:
+------------+------------------+ | CURDATE() | MONTH(CURDATE()) | +------------+------------------+ | 2018-06-29 | 6 | +------------+------------------+