Poniższe dwie funkcje pozwalają nam pobrać nazwę miesiąca z daty w MySQL.
MONTHNAME()
Funkcja
MONTHNAME()
funkcja została zaprojektowana specjalnie do zwracania nazwy miesiąca z daty. Aby to zrobić, przekaż datę do funkcji podczas jej wywoływania. Zwracana jest pełna nazwa miesiąca.
Przykład:
SELECT MONTHNAME('2030-10-25');
Wynik:
October
Język używany w nazwie miesiąca jest kontrolowany przez wartość lc_time_names
zmienna systemowa. Zobacz MONTHNAME()
Przykłady na przykład, jak to wpływa na dane wyjściowe. Zobacz także Jak ustawić ustawienia regionalne dla bieżącego połączenia w MySQL, aby uzyskać więcej informacji.
DATE_FORMAT()
Funkcja
DATE_FORMAT()
funkcja zwraca podaną datę w określonym formacie. Aby użyć tej funkcji, określ datę i żądany format podczas wywoływania funkcji.
Możesz zwrócić pełną nazwę miesiąca, przekazując %M
jako ciąg formatu.
Przykład:
SELECT DATE_FORMAT('2030-12-25', '%M');
Wynik:
December
Język używany w nazwie miesiąca jest kontrolowany przez wartość lc_time_names
zmienna systemowa.
Krótka nazwa miesiąca
Przekazywanie %b
do DATE_FORMAT()
funkcja zwraca skróconą nazwę miesiąca.
Przykład:
SELECT DATE_FORMAT('2030-12-25', '%b');
Wynik:
Dec
Można to zreplikować za pomocą MONTHNAME()
funkcja za pomocą LEFT()
aby pobrać pierwsze 3 znaki z nazwy miesiąca.
Przykład:
SELECT LEFT(MONTHNAME('2030-12-25'), 3);
Wynik:
Dec
Tę samą koncepcję można osiągnąć, konwertując wynik MONTHNAME()
do trzyznakowego typu danych z funkcją taką jak CAST()
.
Jednak chociaż to podejście działa w en_US
, może nie zawsze działać zgodnie z oczekiwaniami w innych językach. Na przykład:
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";
Wynik:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+