Как сравнить даты в mysql?

Пользователь

от johnpaul.blick , в категории: SQL , год назад

Как сравнить даты в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от rachel , год назад

@johnpaul.blick 

В MySQL можно сравнивать даты с помощью операторов сравнения, таких как "<", ">", "<=", ">=", "=", "<>" (неравно).


Для сравнения дат используйте функцию DATE() для извлечения даты из даты-времени, если это необходимо.


Например, чтобы выбрать все записи из таблицы orders, где дата заказа (order_date) больше или равна 1 января 2022 года, можно использовать следующий запрос:

1
SELECT * FROM orders WHERE DATE(order_date) >= '2022-01-01';


Если даты хранятся в формате строки, то для корректного сравнения необходимо использовать формат даты 'YYYY-MM-DD'. Если даты хранятся в формате даты-времени (например, DATETIME), то сравнение будет происходить корректно автоматически.


Также можно использовать функции DATE_ADD() и DATE_SUB() для добавления или вычитания интервала времени из даты. Например, чтобы выбрать все записи из таблицы orders, где дата заказа находится в интервале между 1 января 2022 года и 31 января 2022 года, можно использовать следующий запрос:

1
SELECT * FROM orders WHERE order_date BETWEEN '2022-01-01' AND DATE_ADD('2022-01-31', INTERVAL 1 DAY);


Обратите внимание, что мы добавляем 1 день к конечной дате, чтобы включить все заказы, сделанные в течение 31 января.