Последние новости:

Поиск по сайту:

Если у вас есть слезы, приготовьтесь пролить их (В. Шекспир).

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

1 мин для чтения
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> 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.

Читать  Резервное копирование базы данных MySQL в формате GZ на Linux

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

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

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

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

**ссылки nofollow

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Статьи партнеров:

Рекомендуемое
Коллекция компиляторов GNU (GCC) - это коллекция компиляторов и библиотек…
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close