Когато използвате MySQL, можете да използвате DATE()
функция за извличане на частта за дата от израз за дата или час.
Ето как работи.
Синтаксис
Синтаксисът е така:
ДАТА(expr)
Където expr
е изразът за дата или час.
Пример 1 – Основна употреба
Ето пример за демонстриране на основната му употреба.
ИЗБЕРЕТЕ ДАТА('2020-10-01 12:35:06') КАТО 'Резултат';
Резултат:
+-----------+| Резултат |+-----------+| 01.10.2020 |+-----------+
Така че предоставих стойност, която включва както датата, така и часа, и DATE()
функцията върна частта от датата на тази стойност.
Пример 2 – Използването му с NOW()
Ако използвате функция като NOW()
например, можете да използвате DATE()
за да извлечете само частта от датата от върнатата стойност на NOW()
.
ИЗБЕРЕТЕ СЕГА(), ДАТА(СЕГА());
Резултат:
<пред>+---------------------+------------+| СЕГА() | ДАТА(СЕГА()) |+---------------------+------------+| 25.06.2018 08:33:42 | 25.06.2018 |+---------------------+------------+
В този случай обаче бихме могли просто да използваме CURDATE()
. Това ще премахне необходимостта от използване на DATE()
:
ИЗБЕРЕТЕ CURDATE();
Резултат:
+-----------+| CURDATE() |+------------+| 25.06.2018 |+-----------+
Пример 3 – Заявка за база данни
През повечето време вероятно ще използвате тази функция със стойности, извлечени от база данни. Такива стойности могат да се съхраняват като дата и час стойност и ви трябва само частта за дата.
Ето пример, където колоната на базата данни се съхранява като дата и час стойност. Връщам тази стойност и също използвам DATE()
функция за връщане на частта от датата от същата стойност:
ИЗПОЛЗВАЙТЕ sakila;ИЗБЕРЕТЕ pay_date КАТО 'Дата/час', DATE(payment_date) КАТО 'Дата'FROM paymentWHERE pay_id =1;
Резултат:
+---------------------+-----------+| Дата/Час | Дата |+---------------------+-----------+| 25.05.2005 11:30:37 | 2005-05-25 |+---------------------+-----------+