V MariaDB, MONTHNAME()
je vestavěná funkce data a času, která vrací název měsíce pro dané datum.
Přijímá jeden argument, což je datum, ze kterého chcete extrahovat název měsíce.
Syntaxe
Syntaxe vypadá takto:
MONTHNAME(date)
Kde date
je datum, ze kterého se má získat název měsíce.
Příklad
Zde je příklad:
SELECT MONTHNAME('2041-11-14');
Výsledek:
+-------------------------+| MONTHNAME('2041-11-14') |+-------------------------+| Listopad |+-------------------------+
Jazyk
Jazyk použitý pro název měsíce je řízen hodnotou lc_time_names
systémová proměnná.
Zde je příklad, který ukazuje, jak to ovlivní výsledek:
SET lc_time_names = 'es_AR';
SELECT MONTHNAME('2041-11-14');
Výsledek:
+-------------------------+| MONTHNAME('2041-11-14') |+-------------------------+| noviembre |+-------------------------+
A přepnutí zpět na en_US
, což je výchozí:
SET lc_time_names = 'en_US';
SELECT MONTHNAME('2041-11-14');
Výsledek:
+-------------------------+| MONTHNAME('2041-11-14') |+-------------------------+| Listopad |+-------------------------+
Zde je seznam lokalit podporovaných MariaDB a zde je návod, jak vrátit svůj vlastní seznam dostupných lokalit.
A zde je příspěvek vysvětlující, jak zkontrolovat hodnotu vašich lc_time_names
systémová proměnná.
Hodnoty data a času
Funguje také s hodnotami datetime:
SELECT MONTHNAME('2041-01-15 10:30:45');
Výsledek:
+----------------------------------+| MONTHNAME('2041-01-15 10:30:45') |+---------------------------------- -+| leden |+----------------------------------+
Nula měsíců
Pokud je v datu uveden nulový měsíc, vrátí se null
:
SELECT MONTHNAME('2030-00-00');
Výsledek:
+-------------------------+| MONTHNAME('2030-00-00') |+-------------------------+| NULL |+-------------------------+
Číselná data
Je také možné předávat data jako číslo, pokud to dává smysl jako datum.
Příklad
SELECT MONTHNAME(20201208);
Výsledek:
+---------------------+| MONTHNAME(20201208) |+---------------------+| prosinec |+---------------------+
Dvouciferné roky jsou v pořádku:
SELECT MONTHNAME(201208);
Výsledek:
+-------------------+| MONTHNAME(201208) |+-------------------+| prosinec |+-------------------+
Ale jako rande to musí dávat smysl. Když zvětším část dne na neplatný den, stane se toto:
SELECT MONTHNAME(201299);
Výsledek:
+-------------------+| MONTHNAME(201299) |+-------------------+| NULL |+-------------------+
Další oddělovače
Pro datum můžete použít jiné oddělovače. MariaDB je docela shovívavá, pokud jde o oddělovače dat. Zde je několik platných příkladů:
SELECT
MONTHNAME('2027/08/19'),
MONTHNAME('2027,08,19'),
MONTHNAME('2027:08:19'),
MONTHNAME('2027;08!19');
Výsledek (při použití vertikálního výstupu):
MONTHNAME('2027/08/19'):AugustMONTHNAME('2027,08,19'):AugustMONTHNAME('2027:08:19'):AugustMONTHNAME('2027;08!19'):SrpenAktuální datum
Můžeme předat
NOW()
jako argument data pro použití aktuálního data:SELECT NOW(), MONTHNAME(NOW());
Výsledek:
+---------------------+------------------+| NYNÍ() | NÁZEV MĚSÍCE(NYNÍ()) |+---------------------+------------------+| 2021-05-14 10:11:16 | květen |+---------------------+------------------+Neplatné argumenty
Při předání neplatného argumentu
MONTHNAME()
vrátínull
:SELECT MONTHNAME('Wrong!');
Výsledek:
+---------------------+| MONTHNAME('Špatně!') |+---------------------+| NULL |+---------------------+Chybí argument
Volání
MONTHNAME()
s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:SELECT MONTHNAME();
Výsledek:
CHYBA 1582 (42000):Nesprávný počet parametrů ve volání nativní funkce 'MONTHNAME'A další příklad:
SELECT MONTHNAME('2030-01-25', '2045-05-08');
Výsledek:
CHYBA 1582 (42000):Nesprávný počet parametrů ve volání nativní funkce 'MONTHNAME'