MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

3 sposoby na uzyskanie nazwy miesiąca z daty w MariaDB

Oto trzy sposoby na zwrócenie nazwy miesiąca z daty w MariaDB.

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. Pełna nazwa miesiąca zostanie zwrócona.

Przykład:

SELECT MONTHNAME('2021-08-19');

Wynik:

+-------------------------+
| MONTHNAME('2021-08-19') |
+-------------------------+
| August                  |
+-------------------------+

Język używany dla nazwy miesiąca jest kontrolowany przez wartość lc_time_names zmienna systemowa. Zobacz MONTHNAME() dla przykładu, jak to wpływa na wyjście.

DATE_FORMAT() Funkcja

DATE_FORMAT() funkcja formatuje podaną datę do określonego formatu. Datę i format określasz 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('2021-08-19', '%M');

Wynik:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%M') |
+---------------------------------+
| August                          |
+---------------------------------+

Tak jak w przypadku MONTHNAME() , język używany dla nazwy miesiąca jest kontrolowany przez wartość lc_time_names zmienna systemowa. Jednak DATE_FORMAT() funkcja akceptuje opcjonalny trzeci argument, który pozwala określić ustawienia regionalne.

Oto przykład określenia lokalizacji:

SELECT DATE_FORMAT('2021-08-19', '%M', 'ca_ES');

Wynik:

+------------------------------------------+
| DATE_FORMAT('2021-08-19', '%M', 'ca_ES') |
+------------------------------------------+
| agost                                    |
+------------------------------------------+

Krótka nazwa miesiąca

Przekazywanie %b do DATE_FORMAT() funkcja zwraca skróconą nazwę miesiąca.

Przykład:

SELECT DATE_FORMAT('2021-08-19', '%b');

Wynik:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%b') |
+---------------------------------+
| Aug                             |
+---------------------------------+

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('2021-08-19'), 3);

Wynik:

+----------------------------------+
| LEFT(MONTHNAME('2021-08-19'), 3) |
+----------------------------------+
| Aug                              |
+----------------------------------+

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ć w innych językach. Na przykład:

SET lc_time_names = 'th_TH';
SELECT 
    DATE_FORMAT('2021-08-19', '%b') AS "Short 1",
    LEFT(MONTHNAME('2021-08-19'), 3) AS "Short 2",
    MONTHNAME('2021-08-19') AS "Full";

Wynik:

+----------+-----------+-----------------------+
| Short 1  | Short 2   | Full                  |
+----------+-----------+-----------------------+
| ส.ค.     | สิง        | สิงหาคม                |
+----------+-----------+-----------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak poradzić sobie z przypadkowym usunięciem danych w MySQL i MariaDB?

  2. Jak naprawić błąd przekroczenia limitu czasu oczekiwania na blokadę w MySQL?

  3. 8 sposobów na dodanie godziny do daty w MariaDB

  4. Jak TIME() działa w MariaDB

  5. Formatowanie liczb przecinkami w MariaDB