När du använder MySQL kan du använda DATE()
funktion för att extrahera datumdelen från ett datum- eller datetime-uttryck.
Så här fungerar det.
Syntax
Syntaxen ser ut så här:
DATE(expr)
Där expr
är uttrycket datum eller datum och tid.
Exempel 1 – Grundläggande användning
Här är ett exempel för att visa dess grundläggande användning.
SELECT DATE('2020-10-01 12:35:06') AS 'Result';
Resultat:
+------------+ | Result | +------------+ | 2020-10-01 | +------------+
Så jag angav ett värde som inkluderade både datum och tid, och DATE()
funktion returnerade datumdelen av det värdet.
Exempel 2 – Använder det med NOW()
Om du använder en funktion som NOW()
till exempel kan du använda DATE()
för att bara extrahera datumdelen från returvärdet för NOW()
.
SELECT NOW(), DATE(NOW());
Resultat:
+---------------------+-------------+ | NOW() | DATE(NOW()) | +---------------------+-------------+ | 2018-06-25 08:33:42 | 2018-06-25 | +---------------------+-------------+
Men i det här fallet kunde vi bara ha använt CURDATE()
. Om du gör detta skulle du inte behöva använda DATE()
:
SELECT CURDATE();
Resultat:
+------------+ | CURDATE() | +------------+ | 2018-06-25 | +------------+
Exempel 3 – En databasfråga
För det mesta kommer du förmodligen att använda den här funktionen med värden hämtade från en databas. Sådana värden kan lagras som en datumtid värde och du behöver bara datumdelen.
Här är ett exempel där databaskolumnen lagras som en datumtid värde. Jag returnerar det värdet och jag använder även DATE()
funktion för att returnera datumdelen från samma värde:
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 | +---------------------+------------+