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'):Srpen Aktuá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'