V MariaDB, DAYNAME() je vestavěná funkce data a času, která vrací název dne v týdnu pro dané datum.
Přijímá jeden argument, což je datum, ze kterého chcete extrahovat název dne.
Syntaxe
Syntaxe vypadá takto:
DAYNAME(date)
Kde date je datum, ze kterého se má získat název dne.
Příklad
Zde je příklad:
SELECT DAYNAME('2045-10-17'); Výsledek:
+-----------------------+| DAYNAME('2045-10-17') |+------------------------+| úterý |+-----------------------+ Jazyk
Jazyk použitý pro název dne 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 = 'de_DE';
SELECT DAYNAME('2045-10-17'); Výsledek:
+-----------------------+| DAYNAME('2045-10-17') |+------------------------+| Dienstag |+-----------------------+
A přepnutí zpět na en_US , což je výchozí:
SET lc_time_names = 'en_US';
SELECT DAYNAME('2045-10-17'); Výsledek:
+-----------------------+| DAYNAME('2045-10-17') |+------------------------+| úterý |+-----------------------+ Zde je seznam lokalit podporovaných MariaDB a zde je návod, jak vrátit svůj vlastní seznam dostupných lokalit.
Když už jsme u toho, 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 DAYNAME('2030-01-25 10:30:45'); Výsledek:
+--------------------------------+| DAYNAME('2030-01-25 10:30:45') |+--------------------------------+ | pátek |+--------------------------------+ Nula dnů
Pokud je v datu uveden nulový den, vrátí se null :
SELECT DAYNAME('2030-00-00'); Výsledek:
+-----------------------+| DAYNAME('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 DAYNAME(20201108); Výsledek:
+-------------------+| DAYNAME(20201108) |+-------------------+| neděle |+-------------------+
Dvouciferné roky jsou v pořádku:
SELECT DAYNAME(201108); Výsledek:
+------------------+| DAYNAME(201108) |+-----------------+| neděle |+-----------------+
Ale jako rande to musí dávat smysl. Pokud zvýším měsíční část na neplatný měsíc, stane se toto:
SELECT DAYNAME(209908); Výsledek:
+------------------+| DAYNAME(209908) |+------------------+| 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
DAYNAME('2027/08/19'),
DAYNAME('2027,08,19'),
DAYNAME('2027:08:19'),
DAYNAME('2027;08!19'); Výsledek (při použití vertikálního výstupu):
DAYNAME('2027/08/19'):čtvrtekDAYNAME('2027,08,19'):čtvrtekDAYNAME('2027:08:19'):čtvrtekDAYNAME('2027;08!19'):čtvrtek Aktuální datum
Můžeme předat NOW() jako argument data pro použití aktuálního data:
SELECT
NOW(),
DAYNAME(NOW());
Výsledek:
+---------------------+----------------+| NYNÍ() | NÁZEV DNE(NYNÍ()) |+---------------------+----------------+| 2021-05-13 13:29:10 | čtvrtek |+---------------------+----------------+
Neplatné argumenty
Při předání neplatného argumentu DAYNAME() vrátí null :
SELECT DAYNAME('Dang!');
Výsledek:
+-------------------+| DAYNAME('Do prdele!') |+------------------+| NULL |+------------------+ Chybí argument
Volání DAYNAME() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:
SELECT DAYNAME();
Výsledek:
CHYBA 1582 (42000):Nesprávný počet parametrů ve volání nativní funkce 'DAYNAME'
A další příklad:
SELECT DAYNAME('2030-01-25', '2045-05-08');
Výsledek:
CHYBA 1582 (42000):Nesprávný počet parametrů ve volání nativní funkce 'DAYNAME'