Při používání MySQL můžete použít DATE()
funkce pro extrahování části data z výrazu datum nebo datum a čas.
Zde je návod, jak to funguje.
Syntaxe
Syntaxe vypadá takto:
DATE(expr)
Kde expr
je výraz datum nebo datum a čas.
Příklad 1 – Základní použití
Zde je příklad demonstrující jeho základní použití.
SELECT DATE('2020-10-01 12:35:06') AS 'Result';
Výsledek:
+------------+ | Result | +------------+ | 2020-10-01 | +------------+
Zadal jsem tedy hodnotu, která zahrnovala jak datum, tak čas, a DATE()
funkce vrátila část data této hodnoty.
Příklad 2 – Použití s NOW()
Pokud používáte funkci jako NOW()
můžete například použít DATE()
extrahovat pouze část data z návratové hodnoty NOW()
.
SELECT NOW(), DATE(NOW());
Výsledek:
+---------------------+-------------+ | NOW() | DATE(NOW()) | +---------------------+-------------+ | 2018-06-25 08:33:42 | 2018-06-25 | +---------------------+-------------+
V tomto případě jsme však mohli použít právě CURDATE()
. Tím by se eliminovala potřeba používat DATE()
:
SELECT CURDATE();
Výsledek:
+------------+ | CURDATE() | +------------+ | 2018-06-25 | +------------+
Příklad 3 – Databázový dotaz
Většinu času pravděpodobně budete tuto funkci používat s hodnotami získanými z databáze. Tyto hodnoty mohou být uloženy jako datetime hodnotu a potřebujete pouze datovou část.
Zde je příklad, kde je sloupec databáze uložen jako datetime hodnota. Vracím tuto hodnotu a také používám DATE()
funkce pro vrácení části data ze stejné hodnoty:
USE sakila; SELECT payment_date AS 'Date/Time', DATE(payment_date) AS 'Date' FROM payment WHERE payment_id = 1;
Výsledek:
+---------------------+------------+ | Date/Time | Date | +---------------------+------------+ | 2005-05-25 11:30:37 | 2005-05-25 | +---------------------+------------+