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

Jak MONTHNAME() działa w MariaDB

W MariaDB, MONTHNAME() to wbudowana funkcja daty i czasu, która zwraca nazwę miesiąca dla podanej daty.

Przyjmuje jeden argument, którym jest data, z której chcesz wyodrębnić nazwę miesiąca.

Składnia

Składnia wygląda tak:

MONTHNAME(date)

Gdzie date to data, z której należy pobrać nazwę miesiąca.

Przykład

Oto przykład:

SELECT MONTHNAME('2041-11-14');

Wynik:

+-------------------------+
| MONTHNAME('2041-11-14') |
+-------------------------+
| November                |
+-------------------------+

Język

Język używany w nazwie miesiąca jest kontrolowany przez wartość lc_time_names zmienna systemowa.

Oto przykład, który pokazuje, jak to wpływa na wynik:

SET lc_time_names = 'es_AR';
SELECT MONTHNAME('2041-11-14');

Wynik:

+-------------------------+
| MONTHNAME('2041-11-14') |
+-------------------------+
| noviembre               |
+-------------------------+

I przełączenie z powrotem do en_US , co jest ustawieniem domyślnym:

SET lc_time_names = 'en_US';
SELECT MONTHNAME('2041-11-14');

Wynik:

+-------------------------+
| MONTHNAME('2041-11-14') |
+-------------------------+
| November                |
+-------------------------+

Oto lista lokalizacji obsługiwanych przez MariaDB i oto jak zwrócić własną listę dostępnych lokalizacji.

A oto post wyjaśniający, jak sprawdzić wartość swojego lc_time_names zmienna systemowa.

Wartości daty i godziny

Działa również z wartościami daty i godziny:

SELECT MONTHNAME('2041-01-15 10:30:45');

Wynik:

+----------------------------------+
| MONTHNAME('2041-01-15 10:30:45') |
+----------------------------------+
| January                          |
+----------------------------------+

Zero miesięcy

Miesiąc zero w dacie zwraca null :

SELECT MONTHNAME('2030-00-00');

Wynik:

+-------------------------+
| MONTHNAME('2030-00-00') |
+-------------------------+
| NULL                    |
+-------------------------+

Daty numeryczne

Możliwe jest również przekazywanie dat jako liczby, o ile ma to sens jako data.

Przykład

SELECT MONTHNAME(20201208);

Wynik:

+---------------------+
| MONTHNAME(20201208) |
+---------------------+
| December            |
+---------------------+

Lata dwucyfrowe są w porządku:

SELECT MONTHNAME(201208);

Wynik:

+-------------------+
| MONTHNAME(201208) |
+-------------------+
| December          |
+-------------------+

Ale to musi mieć sens jako randka. Oto, co się stanie, jeśli zwiększę część dnia do nieprawidłowego dnia:

SELECT MONTHNAME(201299);

Wynik:

+-------------------+
| MONTHNAME(201299) |
+-------------------+
| NULL              |
+-------------------+

Inne ograniczniki

Możesz użyć innych ograniczników daty. MariaDB jest dość wyrozumiała, jeśli chodzi o ograniczniki dat. Oto kilka poprawnych przykładów:

SELECT 
    MONTHNAME('2027/08/19'),
    MONTHNAME('2027,08,19'),
    MONTHNAME('2027:08:19'),
    MONTHNAME('2027;08!19');

Wynik (przy użyciu wyjścia pionowego):

MONTHNAME('2027/08/19'): August
MONTHNAME('2027,08,19'): August
MONTHNAME('2027:08:19'): August
MONTHNAME('2027;08!19'): August

Aktualna data

Możemy przekazać NOW() jako argument daty, aby użyć bieżącej daty:

SELECT 
    NOW(),
    MONTHNAME(NOW());

Wynik:

+---------------------+------------------+
| NOW()               | MONTHNAME(NOW()) |
+---------------------+------------------+
| 2021-05-14 10:11:16 | May              |
+---------------------+------------------+

Nieprawidłowe argumenty

Po przekazaniu nieprawidłowego argumentu MONTHNAME() zwraca null :

SELECT MONTHNAME('Wrong!');

Wynik:

+---------------------+
| MONTHNAME('Wrong!') |
+---------------------+
| NULL                |
+---------------------+

Brakujący argument

Wywołanie MONTHNAME() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT MONTHNAME();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MONTHNAME'

I kolejny przykład:

SELECT MONTHNAME('2030-01-25', '2045-05-08');

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MONTHNAME'

  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 działa POSITION() w MariaDB

  2. MariaDB JSON_CONTAINS() Objaśnienie

  3. Historie transformacji na konferencji MariaDB OpenWorks

  4. Jak działa YEARWEEK() w MariaDB

  5. Jak LOG10() działa w MariaDB