Следните две функции ни позволяват да получим името на месеца от дата в 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 | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+