Du kan använda MONTH()
funktion i MySQL för att returnera månaden från ett datum.
I detta sammanhang är månaden ett värde mellan 1 och 12 (eller 0 för datum med noll månadsdel).
Till exempel om du anger ett datum 2018-10-07 , MONTH()
funktionen returnerar 10 .
Syntax
Syntaxen ser ut så här:
MONTH(date)
Där date
är det datumvärde som du vill att månaden ska returneras från.
Exempel
Här är ett exempel att visa.
SELECT MONTH('2020-12-18') AS 'Result';
Resultat:
+--------+ | Result | +--------+ | 12 | +--------+
Om månadsdelen har en inledande nolla, utelämnas den inledande nollan från resultatet. Exempel:
SELECT MONTH('2020-07-18') AS 'Result';
Resultat:
+--------+ | Result | +--------+ | 7 | +--------+
Ett databasexempel
I det här exemplet extraherar jag månadsdelen från en kolumn när jag kör en fråga mot en databas.
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 | +---------------------+-------+
Aktuellt datum/tid
Här är ett exempel på att extrahera månadsdelen från aktuellt datum och tid (som returneras med NOW()
funktion).
SELECT NOW(), MONTH(NOW());
Resultat:
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2018-06-29 14:44:38 | 6 | +---------------------+--------------+
Ett annat sätt att göra detta är att använda CURDATE()
funktion, som endast returnerar datumet (men inte tiden).
SELECT CURDATE(), MONTH(CURDATE());
Resultat:
+------------+------------------+ | CURDATE() | MONTH(CURDATE()) | +------------+------------------+ | 2018-06-29 | 6 | +------------+------------------+