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 | +---------------------+------------+