Puoi usare il DAYOFMONTH()
funzione in MySQL per restituire il giorno del mese da una data.
Per “giorno del mese” intendo un valore compreso tra 1 e 31 (o 0 per le date con una parte del giorno zero), in contrapposizione al giorno della settimana, come lunedì ecc.
Ad esempio, se fornisci una data di 07-01-2018 , il DAYOFMONTH()
funzione restituirà 7 .
Sintassi
La sintassi è questa:
DAYOFMONTH(date)
Dove date
è il valore della data da cui vuoi restituire il giorno del mese.
Esempio
Ecco un esempio da dimostrare.
SELECT DAYOFMONTH('2020-06-18') AS 'Result';
Risultato:
+--------+ | Result | +--------+ | 18 | +--------+
Se la parte del giorno ha uno zero iniziale, lo zero iniziale viene omesso dal risultato. Esempio:
SELECT DAYOFMONTH('2020-06-07') AS 'Result';
Risultato:
+--------+ | Result | +--------+ | 7 | +--------+
Un esempio di database
Ecco un esempio di estrazione della parte del giorno da una colonna durante l'esecuzione di una query su un database.
USE sakila; SELECT payment_date AS 'Date/Time', DAYOFMONTH(payment_date) AS 'Day of Month' FROM payment WHERE payment_id = 1;
Risultato:
+---------------------+--------------+ | Date/Time | Day of Month | +---------------------+--------------+ | 2005-05-25 11:30:37 | 25 | +---------------------+--------------+
Data/ora corrente
Ecco un esempio di estrazione della parte del giorno dalla data e dall'ora correnti (che viene restituita utilizzando NOW()
funzione).
SELECT NOW(), DAYOFMONTH(NOW());
Risultato:
+---------------------+-------------------+ | NOW() | DAYOFMONTH(NOW()) | +---------------------+-------------------+ | 2018-06-25 18:16:00 | 25 | +---------------------+-------------------+
Un altro modo per farlo è usare CURDATE()
funzione, che restituisce solo la data (ma non l'ora).
SELECT CURDATE(), DAYOFMONTH(CURDATE());
Risultato:
+------------+-----------------------+ | CURDATE() | DAYOFMONTH(CURDATE()) | +------------+-----------------------+ | 2018-06-25 | 25 | +------------+-----------------------+