Следните две функции ни позволяват да получим името на месеца от дата в MySQL.
MONTHNAME() Функция
MONTHNAME() функцията е проектирана специално за връщане на името на месеца от дата. За да направите това, предайте датата на функцията, когато я извиквате. Пълното име на месеца се връща.
Пример:
SELECT MONTHNAME('2030-10-25'); Резултат:
October
Езикът, използван за името на месеца, се контролира от стойността на lc_time_names системна променлива. Вижте MONTHNAME() Примери за пример как това се отразява на изхода. Вижте също как да настроите локала за текущата връзка в MySQL за повече информация.
DATE_FORMAT() Функция
DATE_FORMAT() функцията връща дадена дата в определен формат. За да използвате тази функция, посочете датата и желания формат, когато извикате функцията.
Можете да върнете пълното име на месеца, като подадете %M като низ за форматиране.
Пример:
SELECT DATE_FORMAT('2030-12-25', '%M'); Резултат:
December
Езикът, използван за името на месеца, се контролира от стойността на lc_time_names системна променлива.
Име на кратък месец
Подаване на %b към DATE_FORMAT() функцията връща краткото име на месеца.
Пример:
SELECT DATE_FORMAT('2030-12-25', '%b'); Резултат:
Dec
Това може да бъде репликирано с MONTHNAME() функция с помощта на LEFT() за да вземете първите 3 знака от името на месеца.
Пример:
SELECT LEFT(MONTHNAME('2030-12-25'), 3); Резултат:
Dec
Същата концепция може да бъде постигната чрез преобразуване на резултата от MONTHNAME() към тип данни от три знака с функция като CAST() .
Въпреки това, докато този подход работи в en_US , може да не работи винаги според очакванията на други езици. Например:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
MONTHNAME('2030-12-25') AS "Full"; Резултат:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+