В MySQL, DAY()
функцията е синоним на DAYOFMONTH()
функция. Използва се за връщане на деня от месеца от дата.
В този контекст „денят от месеца“ е стойност между 1 и 31 или 0 за дати с нулев ден. Например, ако посочите дата 2020-05-03 , DAY()
функцията ще върне 3 .
Синтаксис
Синтаксисът е така:
ДЕН(дата)
Където date
е стойността на датата, от която искате да се върне деня от месеца.
Пример
Ето пример за демонстрация.
ИЗБЕРЕТЕ ДЕН('2020-06-18') КАТО 'Резултат';
Резултат:
<пред>+--------+| Резултат |+--------+| 18 |+--------+Ако частта от деня има водеща нула, водещата нула се пропуска от резултата. Пример:
ИЗБЕРЕТЕ ДЕН('2020-06-07') КАТО 'Резултат';
Резултат:
<пред>+--------+| Резултат |+--------+| 7 |+-------+Пример за база данни
Ето пример за извличане на частта за деня от колона при изпълнение на заявка към база данни.
ИЗПОЛЗВАЙТЕ sakila;ИЗБЕРЕТЕ pay_date КАТО 'Дата/час', DAY(payment_date) КАТО 'Ден от месеца'FROM paymentWHERE payment_id =1;
Резултат:
+---------------------+--------------+| Дата/Час | Ден от месеца |+---------------------+--------------+| 25.05.2005 11:30:37 | 25 |+---------------------+--------------+
Текуща дата/час
Ето пример за извличане на частта от деня от текущата дата и час (които се връщат с помощта на NOW()
функция).
ИЗБЕРЕТЕ СЕГА(), ДЕН(СЕГА());
Резултат:
+---------------------+-----------+| СЕГА() | ДЕН(СЕГА()) |+---------------------+-----------+| 25.06.2018 18:30:44 | 25 |+---------------------+-----------+
Друг начин да направите това е да използвате CURDATE()
функция, която връща само датата (но не и часа).
ИЗБЕРЕТЕ CURDATE(), ДЕН(CURDATE());
Резултат:
+-----------+----------------+| CURDATE() | ДЕН(CURDATE()) |+-----------+----------------+| 25.06.2018 | 25 |+-----------+----------------+