Når du bruger MySQL, kan du bruge DATE()
funktion til at udtrække datodelen fra et dato- eller datotidsudtryk.
Sådan fungerer det.
Syntaks
Syntaksen ser sådan ud:
DATE(expr)
Hvor expr
er dato- eller datotidsudtrykket.
Eksempel 1 – Grundlæggende brug
Her er et eksempel for at demonstrere dets grundlæggende brug.
SELECT DATE('2020-10-01 12:35:06') AS 'Result';
Resultat:
+------------+ | Result | +------------+ | 2020-10-01 | +------------+
Så jeg angav en værdi, der inkluderede både datoen og klokkeslættet og DATE()
funktion returnerede datodelen af denne værdi.
Eksempel 2 – Brug af det med NOW()
Hvis du bruger en funktion som NOW()
for eksempel kan du bruge DATE()
for kun at udtrække datodelen fra returværdien af NOW()
.
SELECT NOW(), DATE(NOW());
Resultat:
+---------------------+-------------+ | NOW() | DATE(NOW()) | +---------------------+-------------+ | 2018-06-25 08:33:42 | 2018-06-25 | +---------------------+-------------+
Men i dette tilfælde kunne vi bare have brugt CURDATE()
. Hvis du gør dette, ville du fjerne behovet for at bruge DATE()
:
SELECT CURDATE();
Resultat:
+------------+ | CURDATE() | +------------+ | 2018-06-25 | +------------+
Eksempel 3 – En databaseforespørgsel
Det meste af tiden vil du sandsynligvis bruge denne funktion med værdier hentet fra en database. Sådanne værdier kan gemmes som et datotidspunkt værdi, og du skal bare bruge datodelen.
Her er et eksempel, hvor databasekolonnen er gemt som en datotid værdi. Jeg returnerer den værdi, og jeg bruger også DATE()
funktion til at returnere datodelen fra den samme værdi:
USE sakila; SELECT payment_date AS 'Date/Time', DATE(payment_date) AS 'Date' FROM payment WHERE payment_id = 1;
Resultat:
+---------------------+------------+ | Date/Time | Date | +---------------------+------------+ | 2005-05-25 11:30:37 | 2005-05-25 | +---------------------+------------+