In MySQL, il DAY()
function è sinonimo di DAYOFMONTH()
funzione. Viene utilizzato per restituire il giorno del mese da una data.
In questo contesto il “giorno del mese” è un valore compreso tra 1 e 31, oppure 0 per date con una parte del giorno zero. Ad esempio, se fornisci una data di 03-05-2020 , il DAY()
funzione restituirà 3 .
Sintassi
La sintassi è questa:
DAY(date)
Dove date
è il valore della data da cui vuoi restituire il giorno del mese.
Esempio
Ecco un esempio da dimostrare.
SELECT DAY('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 DAY('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', DAY(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(), DAY(NOW());
Risultato:
+---------------------+------------+ | NOW() | DAY(NOW()) | +---------------------+------------+ | 2018-06-25 18:30:44 | 25 | +---------------------+------------+
Un altro modo per farlo è usare CURDATE()
funzione, che restituisce solo la data (ma non l'ora).
SELECT CURDATE(), DAY(CURDATE());
Risultato:
+------------+----------------+ | CURDATE() | DAY(CURDATE()) | +------------+----------------+ | 2018-06-25 | 25 | +------------+----------------+