In MariaDB, MONTH() è una funzione di data e ora incorporata che restituisce il mese da una determinata espressione di data.
Accetta un argomento, che è la data da cui vuoi estrarre il mese.
Restituisce il mese come numero nell'intervallo 1 a 12 da gennaio a dicembre. Se la data è composta da zero mesi (es. 0000-00-00 o 2025-00-00 ), il risultato è 0 .
Sintassi
La sintassi è questa:
MONTH(date)
Dove date è l'espressione di data da cui ottenere il mese.
Esempio
Ecco un esempio:
SELECT MONTH('2030-08-01'); Risultato:
+---------------------+
| MONTH('2030-08-01') |
+---------------------+
| 8 |
+---------------------+ Valori di data e ora
Funziona anche con i valori datetime:
SELECT MONTH('2030-08-01 10:30:45'); Risultato:
+------------------------------+
| MONTH('2030-08-01 10:30:45') |
+------------------------------+
| 8 |
+------------------------------+ Zero mesi
Zero mesi danno come risultato 0 .
Esempio:
SELECT MONTH('2030-00-00'); Risultato:
+---------------------+
| MONTH('2030-00-00') |
+---------------------+
| 0 |
+---------------------+ Date numeriche
È anche possibile trasmettere le date come numero, purché abbia senso come data.
Esempio
SELECT MONTH(20301125); Risultato:
+-----------------+ | MONTH(20301125) | +-----------------+ | 11 | +-----------------+
O anche il seguente (che utilizza un anno a due cifre):
SELECT MONTH(301125); Risultato:
+---------------+ | MONTH(301125) | +---------------+ | 11 | +---------------+
Ma deve avere un senso come appuntamento. Ecco cosa succede se aumento la parte del giorno a un giorno non valido:
SELECT MONTH(20301135); Risultato:
+-----------------+ | MONTH(20301135) | +-----------------+ | 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
MONTH('2030/06/25'),
MONTH('2030,06,25'),
MONTH('2030:06:25'),
MONTH('2030;06!25'); Risultato (usando l'output verticale):
MONTH('2030/06/25'): 6
MONTH('2030,06,25'): 6
MONTH('2030:06:25'): 6
MONTH('2030;06!25'): 6 Data attuale
Possiamo passare NOW() come argomento datetime per utilizzare la data corrente:
SELECT
NOW(),
MONTH(NOW()); Risultato:
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2021-05-16 15:00:06 | 5 | +---------------------+--------------+
Argomenti non validi
Quando viene passato un argomento non valido, MONTH() restituisce null :
SELECT MONTH('2030-65-78'); Risultato:
+---------------------+
| MONTH('2030-65-78') |
+---------------------+
| NULL |
+---------------------+ Argomento mancante
Chiamando MONTH() con il numero errato di argomenti, o senza passare alcun argomento, si verifica un errore:
SELECT MONTH(); Risultato:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
E un altro esempio:
SELECT MONTH('2030-12-10', '2031-12-10'); Risultato:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '2031-12-10')' at line 1