Używając MySQL, możesz użyć DATE()
funkcja do wyodrębnienia części daty z wyrażenia daty lub czasu.
Oto jak to działa.
Składnia
Składnia wygląda tak:
DATE(expr)
Gdzie expr
jest wyrażeniem daty lub daty i godziny.
Przykład 1 – Podstawowe użycie
Oto przykład demonstrujący jego podstawowe zastosowanie.
SELECT DATE('2020-10-01 12:35:06') AS 'Result';
Wynik:
+------------+ | Result | +------------+ | 2020-10-01 | +------------+
Podałem więc wartość zawierającą zarówno datę, jak i godzinę oraz DATE()
funkcja zwróciła część daty tej wartości.
Przykład 2 – Używanie go z NOW()
Jeśli używasz funkcji takiej jak NOW()
na przykład możesz użyć DATE()
aby wyodrębnić tylko część daty z wartości zwracanej przez NOW()
.
SELECT NOW(), DATE(NOW());
Wynik:
+---------------------+-------------+ | NOW() | DATE(NOW()) | +---------------------+-------------+ | 2018-06-25 08:33:42 | 2018-06-25 | +---------------------+-------------+
Jednak w tym przypadku mogliśmy po prostu użyć CURDATE()
. W ten sposób wyeliminujesz potrzebę używania DATE()
:
SELECT CURDATE();
Wynik:
+------------+ | CURDATE() | +------------+ | 2018-06-25 | +------------+
Przykład 3 – Zapytanie do bazy danych
Przez większość czasu prawdopodobnie będziesz używać tej funkcji z wartościami pobranymi z bazy danych. Takie wartości mogą być przechowywane jako data i godzina wartość i potrzebujesz tylko daty.
Oto przykład, w którym kolumna bazy danych jest przechowywana jako data-godzina wartość. Zwracam tę wartość, a także używam funkcji DATE()
funkcja zwracająca część daty z tej samej wartości:
USE sakila; SELECT payment_date AS 'Date/Time', DATE(payment_date) AS 'Date' FROM payment WHERE payment_id = 1;
Wynik:
+---------------------+------------+ | Date/Time | Date | +---------------------+------------+ | 2005-05-25 11:30:37 | 2005-05-25 | +---------------------+------------+