Поиск по сайту:
Об уме человека легче судить по его вопросам, чем по его ответам (Г. Левис).

Как получить сегодняшнюю дату в MySQL. Руководство для начинающих

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
12.03.2020
Как скопировать базу данных MySQL

Резюме : в этой статье вы узнаете, как запрашивать данные, соответствующие сегодняшней дате в MySQL, с помощью встроенных функций даты.

 

Получение сегодняшней даты в MySQL с использованием встроенных функций даты

Иногда вам может потребоваться запросить данные из таблицы, чтобы получить строки со столбцом даты на сегодняшний день, например:

SELECT
column_list
FROM
table_name
WHERE
expired_date = today;

 

Чтобы получить сегодняшнюю дату, вы используете функцию CURDATE() следующим образом:

mysql> SELECT CURDATE() today;
+------------+
| today      |
+------------+
| 2020-03-12 |
+------------+
1 row in set (0.00 sec)

 

Или вы можете получить часть даты из текущего времени, возвращенного функцией NOW():

mysql> SELECT DATE(NOW()) today;
+------------+
| today      |
+------------+
| 2020-03-12 |
+------------+
1 row in set (0.00 sec)

 

Таким образом, запрос должен измениться на:

SELECT
column_list
FROM
table_name
WHERE
expired_date = CURDATE();

 

Если столбец expired_date содержит часть даты и времени, следует использовать функцию DATE(), чтобы извлечь только часть даты и сравнить ее с текущей датой:

SELECT
column_list
FROM
table_name
WHERE
DATE(expired_date) = CURDATE();

 

Создание вашей хранимой функции MySQL

Если вы часто используете эту функцию CURDATE() в своих запросах и хотите заменить ее на функцию today(), чтобы сделать запросы более читабельными, вы можете создать свою собственную хранимую функцию с именем today() следующим образом:

DELIMITER $$
CREATE FUNCTION today()
RETURNS DATE
BEGIN
RETURN CURDATE();
END$$
DELIMITER ;

 

Теперь вы можете использовать созданную вами функцию today() следующим образом:

mysql> SELECT today();
+------------+
| today()    |
+------------+
| 2020-03-12 |
+------------+
1 row in set (0.00 sec)

 

Читать  Как установить MySql Workbench в Ubuntu

Как насчет завтра? Это должно быть так просто, как:

mysql> SELECT today() + interval 1 day Tomorrow;
+------------+
| Tomorrow   |
+------------+
| 2017-07-09 |
+------------+
1 row in set (0.00 sec)

 

И вчерашний день также прост:

mysql> SELECT today() - interval 1 day Yesterday;
+------------+
| Yesterday  |
+------------+
| 2017-07-07 |
+------------+
1 row in set (0.00 sec)

 

Из этой статье вы узнали, как получить сегодняшнюю дату в MySQL, используя встроенную функцию даты. Вы также узнали, как разработать свою собственную функцию, используя хранимую функцию в MySQL.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Рекомендуемое
Коллекция компиляторов GNU (GCC) - это коллекция компиляторов и библиотек…

Спасибо!

Теперь редакторы в курсе.