V MariaDB DAY()
je synonymem pro DAYOFMONTH()
. Vrátí den v měsíci z daného data.
Přijímá jeden argument, což je datum, ze kterého chcete vrátit 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:
DAY(date)
Kde date
je datum, ze kterého se má extrahovat den.
Příklad
Zde je příklad:
SELECT DAY('2045-05-18');
Výsledek:
+-------------------+| DEN('2045-05-18') |+-------------------+| 18 |+-------------------+
Hodnoty data a času
Funguje také s hodnotami datetime:
SELECT DAY('2045-05-18 01:10:15');
Výsledek:
+----------------------------+| DAY('2045-05-18 01:10:15') |+----------------------------+| 18 |+----------------------------+
Nula dnů
Zde je příklad, který používá nultý den v datu:
SELECT DAY('0000-00-00');
Výsledek:
+-------------------+| DAY('0000-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 DAY(20220308);
Výsledek:
+----------------+| DEN(20220308) |+---------------+| 8 |+---------------+
Nebo dokonce následující (který používá dvouciferný rok):
SELECT DAY(220308);
Výsledek:
+--------------+| DEN(220308) |+--------------+| 8 |+-------------+
Ale jako rande to musí dávat smysl. Když zvětším část dne na neplatný den, stane se toto:
SELECT DAY(220358);
Výsledek:
+--------------+| DAY(220358) |+--------------+| 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
DAY('2028/12/30'),
DAY('2028,12,30'),
DAY('2028:12:30'),
DAY('2028;12!30');
Výsledek (při použití vertikálního výstupu):
DAY('2028/12/30'):30DAY('2028,12,30'):30DAY('2028:12:30'):30DAY('2028;12!30'):30Aktuální datum
Můžeme předat
NOW()
jako argument data pro použití aktuálního data:SELECT NOW(), DAY(NOW());
Výsledek:
+---------------------+------------+| NYNÍ() | DEN(NYNÍ()) |+---------------------+------------+| 2021-05-13 09:41:03 | 13 |+---------------------+------------+Neplatné argumenty
Při předání neplatného argumentu
DAY()
vrátínull
:SELECT DAY('Oops!');
Výsledek:
+---------------+| DAY('Jejda!') |+---------------+| NULL |+--------------+Chybí argument
Volání
DAY()
s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:SELECT DAY();
Výsledek:
ERROR 1064 (42000):Máte chybu v syntaxi SQL; zkontrolujte příručku, která odpovídá verzi vašeho serveru MariaDB, kde najdete správnou syntaxi, která se má použít poblíž ')' na řádku 1A další příklad:
SELECT DAY('2030-01-25', '2045-05-08');
Výsledek:
ERROR 1064 (42000):Máte chybu v syntaxi SQL; podívejte se do manuálu, který odpovídá verzi vašeho serveru MariaDB, kde najdete správnou syntaxi, která se má použít poblíž ''2045-05-08')' na řádku 1