V MariaDB, DAYOFMONTH() je vestavěná funkce data a času, která vrací den v měsíci z daného data.
Přijímá jeden argument, což je datum, ze kterého chcete extrahovat den v měsíci.
Výsledek je v rozsahu 1 do 31 . Pokud však datum obsahuje část nula dne (například '0000-00-00' nebo '2021-00-00' ), výsledkem je 0 .
Syntaxe
Syntaxe vypadá takto:
DAYOFMONTH(date)
Kde date je datum, ze kterého se má extrahovat den.
Příklad
Zde je příklad:
SELECT DAYOFMONTH('2030-01-25'); Výsledek:
+--------------------------+| DAYOFMONTH('2030-01-25') |+--------------------------+| 25 |+--------------------------+ Hodnoty data a času
Funguje také s hodnotami datetime:
SELECT DAYOFMONTH('2030-01-25 10:30:45'); Výsledek:
+-----------------------------------+| DAYOFMONTH('2030-01-25 10:30:45') |+---------------------------------- --+| 25 |+-----------------------------------+ Nula dnů
Zde je příklad, který používá nultý den v datu:
SELECT DAYOFMONTH('2030-00-00'); Výsledek:
+--------------------------+| DAYOFMONTH('2030-00-00') |+--------------------------+| 0 |+--------------------------+ Číselná data
Je také možné předávat data jako číslo, pokud to dává smysl jako datum.
Příklad
SELECT DAYOFMONTH(20300125); Výsledek:
+----------------------+| DAYOFMONTH(20300125) |+----------------------+| 25 |+----------------------+
Nebo dokonce následující (který používá dvouciferný rok):
SELECT DAYOFMONTH(300125); Výsledek:
+---------------------+| DAYOFMONTH(300125) |+--------------------+| 25 |+--------------------+
Ale jako rande to musí dávat smysl. Když zvětším část dne na neplatný den, stane se toto:
SELECT DAYOFMONTH(20300135); Výsledek:
+----------------------+| DAYOFMONTH(20300135) |+----------------------+| 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
DAYOFMONTH('2030/01/25'),
DAYOFMONTH('2030,01,25'),
DAYOFMONTH('2030:01:25'),
DAYOFMONTH('2030;01!25'); Výsledek (při použití vertikálního výstupu):
DAYOFMONTH('2030/01/25'):25DAYOFMONTH('2030,01,25'):25DAYOFMONTH('2030:01:25'):25DAYOFMONTH('2030;01!25'):25 Aktuální datum
Můžeme předat NOW() jako argument data pro použití aktuálního data:
SELECT
NOW(),
DAYOFMONTH(NOW());
Výsledek:
+---------------------+-------------------+| NYNÍ() | DAYOFMONTH(NOW()) |+---------------------+-------------------+ | 2021-05-13 09:02:41 | 13 |+---------------------+-------------------+
Neplatné argumenty
Při předání neplatného argumentu DAYOFMONTH() vrátí null :
SELECT DAYOFMONTH('Homer');
Výsledek:
+---------------------+| DAYOFMONTH('Homer') |+---------------------+| NULL |+---------------------+ Chybí argument
Volání DAYOFMONTH() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:
SELECT DAYOFMONTH();
Výsledek:
CHYBA 1582 (42000):Nesprávný počet parametrů ve volání nativní funkce 'DAYOFMONTH'
A další příklad:
SELECT DAYOFMONTH('2030-01-25', '2045-05-08');
Výsledek:
CHYBA 1582 (42000):Nesprávný počet parametrů ve volání nativní funkce 'DAYOFMONTH'