sql >> Databáze >  >> RDS >> MariaDB

Jak funguje DAYOFMONTH() v MariaDB

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'

  1. pomocí (-) pomlčky v názvu tabulky mysql

  2. Jak určit umístění datových souborů a souborů protokolu při vytváření databáze na serveru SQL Server

  3. @@ERROR a/nebo TRY - CATCH

  4. Instalace pg -v 0.17.1