Можете да използвате MONTH()
функция в MySQL за връщане на месеца от дата.
В този контекст месецът е стойност между 1 и 12 (или 0 за дати с нулева част от месеца).
Например, ако посочите дата 07.10.2018 , MONTH()
функцията ще върне 10 .
Синтаксис
Синтаксисът е така:
MONTH(date)
Където date
е стойността на датата, от която искате да се върне месецът.
Пример
Ето пример за демонстрация.
SELECT MONTH('2020-12-18') AS 'Result';
Резултат:
+--------+ | Result | +--------+ | 12 | +--------+
Ако частта от месеца има водеща нула, водещата нула се пропуска от резултата. Пример:
SELECT MONTH('2020-07-18') AS 'Result';
Резултат:
+--------+ | Result | +--------+ | 7 | +--------+
Пример за база данни
В този пример извличам частта за месеца от колона, когато изпълнявам заявка към база данни.
USE sakila; SELECT payment_date AS 'Date/Time', MONTH(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Резултат:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | 5 | +---------------------+-------+
Текуща дата/час
Ето пример за извличане на частта от месеца от текущата дата и час (които се връщат с помощта на NOW()
функция).
SELECT NOW(), MONTH(NOW());
Резултат:
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2018-06-29 14:44:38 | 6 | +---------------------+--------------+
Друг начин да направите това е да използвате CURDATE()
функция, която връща само датата (но не и часа).
SELECT CURDATE(), MONTH(CURDATE());
Резултат:
+------------+------------------+ | CURDATE() | MONTH(CURDATE()) | +------------+------------------+ | 2018-06-29 | 6 | +------------+------------------+