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'):6 Aktuá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 1
A 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