MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona DAYOFMONTH() in MariaDB

In MariaDB, DAYOFMONTH() è una funzione di data e ora incorporata che restituisce il giorno del mese da una determinata data.

Accetta un argomento, che è la data da cui vuoi estrarre il giorno del mese.

Il risultato è nell'intervallo 1 a 31 . Tuttavia, se la data ha una parte zero giorni (ad esempio '0000-00-00' o '2021-00-00' ), il risultato è 0 .

Sintassi

La sintassi è questa:

DAYOFMONTH(date)

Dove date è la data da cui estrarre il giorno.

Esempio

Ecco un esempio:

SELECT DAYOFMONTH('2030-01-25');

Risultato:

+--------------------------+
| DAYOFMONTH('2030-01-25') |
+--------------------------+
|                       25 |
+--------------------------+

Valori di data e ora

Funziona anche con i valori datetime:

SELECT DAYOFMONTH('2030-01-25 10:30:45');

Risultato:

+-----------------------------------+
| DAYOFMONTH('2030-01-25 10:30:45') |
+-----------------------------------+
|                                25 |
+-----------------------------------+

Zero giorni

Ecco un esempio che utilizza un giorno zero nella data:

SELECT DAYOFMONTH('2030-00-00');

Risultato:

+--------------------------+
| DAYOFMONTH('2030-00-00') |
+--------------------------+
|                        0 |
+--------------------------+

Date numeriche

È anche possibile trasmettere le date come numero, purché abbia senso come data.

Esempio

SELECT DAYOFMONTH(20300125);

Risultato:

+----------------------+
| DAYOFMONTH(20300125) |
+----------------------+
|                   25 |
+----------------------+

O anche il seguente (che utilizza un anno a due cifre):

SELECT DAYOFMONTH(300125);

Risultato:

+--------------------+
| DAYOFMONTH(300125) |
+--------------------+
|                 25 |
+--------------------+

Ma deve avere un senso come appuntamento. Ecco cosa succede se aumento la parte del giorno a un giorno non valido:

SELECT DAYOFMONTH(20300135);

Risultato:

+----------------------+
| DAYOFMONTH(20300135) |
+----------------------+
|                 NULL |
+----------------------+

Altri delimitatori

È possibile utilizzare altri delimitatori per la data. MariaDB è abbastanza clemente quando si tratta di delimitatori sulle date. Ecco alcuni validi esempi:

SELECT 
    DAYOFMONTH('2030/01/25'),
    DAYOFMONTH('2030,01,25'),
    DAYOFMONTH('2030:01:25'),
    DAYOFMONTH('2030;01!25');

Risultato (usando l'output verticale):

DAYOFMONTH('2030/01/25'): 25
DAYOFMONTH('2030,01,25'): 25
DAYOFMONTH('2030:01:25'): 25
DAYOFMONTH('2030;01!25'): 25

Data attuale

Possiamo passare NOW() come argomento data per utilizzare la data corrente:

SELECT 
    NOW(),
    DAYOFMONTH(NOW());

Risultato:

+---------------------+-------------------+
| NOW()               | DAYOFMONTH(NOW()) |
+---------------------+-------------------+
| 2021-05-13 09:02:41 |                13 |
+---------------------+-------------------+

Argomenti non validi

Quando viene passato un argomento non valido, DAYOFMONTH() restituisce null :

SELECT DAYOFMONTH('Homer');

Risultato:

+---------------------+
| DAYOFMONTH('Homer') |
+---------------------+
|                NULL |
+---------------------+

Argomento mancante

Chiamando DAYOFMONTH() con il numero errato di argomenti, o senza passare alcun argomento, si verifica un errore:

SELECT DAYOFMONTH();

Risultato:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFMONTH'

E un altro esempio:

SELECT DAYOFMONTH('2030-01-25', '2045-05-08');

Risultato:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFMONTH'