Můžete použít MONTH()
funkci v MySQL vrátit měsíc od data.
V tomto kontextu je měsíc hodnota mezi 1 a 12 (nebo 0 pro data s nulovou částí měsíce).
Pokud například zadáte datum 2018-10-07 , MONTH()
funkce vrátí 10 .
Syntaxe
Syntaxe vypadá takto:
MONTH(date)
Kde date
je hodnota data, ze které chcete vrátit měsíc.
Příklad
Zde je příklad k demonstraci.
SELECT MONTH('2020-12-18') AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | 12 | +--------+
Pokud má část měsíce úvodní nulu, úvodní nula je z výsledku vynechána. Příklad:
SELECT MONTH('2020-07-18') AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | 7 | +--------+
Příklad databáze
V tomto příkladu extrahuji část měsíce ze sloupce při spuštění dotazu na databázi.
USE sakila; SELECT payment_date AS 'Date/Time', MONTH(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Výsledek:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | 5 | +---------------------+-------+
Aktuální datum/čas
Zde je příklad extrahování části měsíce z aktuálního data a času (který je vrácen pomocí NOW()
funkce).
SELECT NOW(), MONTH(NOW());
Výsledek:
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2018-06-29 14:44:38 | 6 | +---------------------+--------------+
Dalším způsobem, jak toho dosáhnout, je použít CURDATE()
funkce, která vrací pouze datum (ale ne čas).
SELECT CURDATE(), MONTH(CURDATE());
Výsledek:
+------------+------------------+ | CURDATE() | MONTH(CURDATE()) | +------------+------------------+ | 2018-06-29 | 6 | +------------+------------------+