В MySQL, MONTHNAME()
функцията връща името на месеца от дата.
Например, ако посочите дата 2021-12-07 , MONTHNAME()
функцията ще върне декември .
Синтаксис
Синтаксисът е така:
MONTHNAME(date)
Където date
е стойността на датата, от която искате да се върне името на месеца.
Пример
Ето пример за демонстрация.
SELECT MONTHNAME('2021-12-07') AS 'Result';
Резултат:
+----------+ | Result | +----------+ | December | +----------+
Пример за база данни
В този пример извличам името на месеца от колона, когато изпълнявам заявка към база данни.
USE sakila; SELECT payment_date AS 'Date/Time', MONTHNAME(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Резултат:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | May | +---------------------+-------+
Текуща дата/час
Ето пример за извличане на името на месеца от текущата дата и час (които се връщат с помощта на NOW()
функция).
SELECT NOW(), MONTHNAME(NOW());
Резултат:
+---------------------+------------------+ | NOW() | MONTHNAME(NOW()) | +---------------------+------------------+ | 2018-06-29 15:19:48 | June | +---------------------+------------------+
Друг начин да направите това е да използвате CURDATE()
функция, която връща само датата (но не и часа).
SELECT CURDATE(), MONTHNAME(CURDATE());
Резултат:
+------------+----------------------+ | CURDATE() | MONTHNAME(CURDATE()) | +------------+----------------------+ | 2018-06-29 | June | +------------+----------------------+
Locale
Езикът, използван за името на месеца, се контролира от lc_time_names
системна променлива. Ето пример за промяна на стойността на тази променлива и след това изпълнение на MONTHNAME()
отново.
SET lc_time_names = 'es_CL'; SELECT MONTHNAME('2021-12-07') AS 'Result';
Резултат:
+-----------+ | Result | +-----------+ | diciembre | +-----------+
В този пример промених lc_time_names
към es_CL
което означава испански – Чили .