V MariaDB, MONTH()
je vestavěná funkce data a času, která vrací měsíc z daného výrazu data.
Přijímá jeden argument, což je datum, ze kterého chcete extrahovat měsíc.
Vrátí měsíc jako číslo v rozsahu 1
do 12
za leden až prosinec. Pokud má datum část nula měsíce (např. 0000-00-00
nebo 2025-00-00
), výsledkem je 0
.
Syntaxe
Syntaxe vypadá takto:
MONTH(date)
Kde date
je výraz data, ze kterého se má získat měsíc.
Příklad
Zde je příklad:
SELECT MONTH('2030-08-01');
Výsledek:
+---------------------+| MĚSÍC('2030-08-01') |+---------------------+| 8 |+---------------------+
Hodnoty data a času
Funguje také s hodnotami datetime:
SELECT MONTH('2030-08-01 10:30:45');
Výsledek:
+------------------------------+| MĚSÍC('2030-08-01 10:30:45') |+------------------------------+| 8 |+------------------------------+
Nula měsíců
Výsledkem nula měsíců je 0
.
Příklad:
SELECT MONTH('2030-00-00');
Výsledek:
+---------------------+| MĚSÍC('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 MONTH(20301125);
Výsledek:
+------------------+| MĚSÍC(20301125) |+-----------------+| 11 |+-----------------+
Nebo dokonce následující (který používá dvouciferný rok):
SELECT MONTH(301125);
Výsledek:
+----------------+| MĚSÍC(301125) |+---------------+| 11 |+---------------+
Ale jako rande to musí dávat smysl. Když zvětším část dne na neplatný den, stane se toto:
SELECT MONTH(20301135);
Výsledek:
+------------------+| MĚSÍC(20301135) |+-----------------+| 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
MONTH('2030/06/25'),
MONTH('2030,06,25'),
MONTH('2030:06:25'),
MONTH('2030;06!25');
Výsledek (při použití vertikálního výstupu):
MONTH('2030/06/25'):6MONTH('2030,06,25'):6MONTH('2030:06:25'):6MONTH('2030;06!25'):6Aktuální datum
Můžeme předat
NOW()
jako argument datetime pro použití aktuálního data:SELECT NOW(), MONTH(NOW());
Výsledek:
+---------------------+--------------+| NYNÍ() | MĚSÍC(NYNÍ()) |+---------------------+--------------+| 2021-05-16 15:00:06 | 5 |+---------------------+--------------+Neplatné argumenty
Při předání neplatného argumentu
MONTH()
vrátínull
:SELECT MONTH('2030-65-78');
Výsledek:
+---------------------+| MĚSÍC('2030-65-78') |+---------------------+| NULL |+---------------------+Chybí argument
Volání
MONTH()
s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:SELECT MONTH();
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 blízko ')' na řádku 1A další příklad:
SELECT MONTH('2030-12-10', '2031-12-10');
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íž ''2031-12-10')' na řádku 1