In MySQL is de DAY()
functie is een synoniem voor de DAYOFMONTH()
functie. Het wordt gebruikt om de dag van de maand uit een datum te halen.
In deze context is de “dag van de maand” een waarde tussen 1 en 31, of 0 voor datums met een dagdeel nul. Als u bijvoorbeeld een datum opgeeft van 03-05-2020 , de DAY()
functie retourneert 3 .
Syntaxis
De syntaxis gaat als volgt:
DAY(date)
Waar date
is de datumwaarde waarvan u de dag van de maand wilt retourneren.
Voorbeeld
Hier is een voorbeeld om te demonstreren.
SELECT DAY('2020-06-18') AS 'Result';
Resultaat:
+--------+ | Result | +--------+ | 18 | +--------+
Als het dagdeel een voorloopnul heeft, wordt de voorloopnul weggelaten uit het resultaat. Voorbeeld:
SELECT DAY('2020-06-07') AS 'Result';
Resultaat:
+--------+ | Result | +--------+ | 7 | +--------+
Een databasevoorbeeld
Hier is een voorbeeld van het extraheren van het dagdeel uit een kolom bij het uitvoeren van een query op een database.
USE sakila; SELECT payment_date AS 'Date/Time', DAY(payment_date) AS 'Day of Month' FROM payment WHERE payment_id = 1;
Resultaat:
+---------------------+--------------+ | Date/Time | Day of Month | +---------------------+--------------+ | 2005-05-25 11:30:37 | 25 | +---------------------+--------------+
Huidige datum/tijd
Hier is een voorbeeld van het extraheren van het daggedeelte van de huidige datum en tijd (die wordt geretourneerd met de NOW()
functie).
SELECT NOW(), DAY(NOW());
Resultaat:
+---------------------+------------+ | NOW() | DAY(NOW()) | +---------------------+------------+ | 2018-06-25 18:30:44 | 25 | +---------------------+------------+
Een andere manier om dit te doen is door de CURDATE()
. te gebruiken functie, die alleen de datum retourneert (maar niet de tijd).
SELECT CURDATE(), DAY(CURDATE());
Resultaat:
+------------+----------------+ | CURDATE() | DAY(CURDATE()) | +------------+----------------+ | 2018-06-25 | 25 | +------------+----------------+