НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
109 of 150 menu

Функция DATEDIFF

Функция DATEDIFF используется для вычисления количества дней между двумя датами. Результат может быть положительным или отрицательным в зависимости от порядка аргументов. Время суток при расчёте не учитывается.

Синтаксис

SELECT DATEDIFF(date_1, date_2) FROM table_name

Таблицы для примеров

employees
id name hire_date finish_date
1 Ivan 2023-01-10 2023-02-01
2 Olga 2023-03-05 2023-03-20
3 Sergey 2023-04-01 2023-04-01
4 Anna 2023-05-15 2023-05-10

Пример

Давайте вычислим количество дней между датой окончания и датой начала работы для каждого сотрудника:

SELECT name, hire_date, finish_date, DATEDIFF(finish_date, hire_date) AS work_days FROM employees ORDER BY id

Результат выполнения кода:

name hire_date finish_date work_days
Ivan 2023-01-10 2023-02-01 22
Olga 2023-03-05 2023-03-20 15
Sergey 2023-04-01 2023-04-01 0
Anna 2023-05-15 2023-05-10 -5

Пример

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

SELECT id, name FROM employees WHERE DATEDIFF(finish_date, hire_date) > 10 ORDER BY id

Результат выполнения кода:

id name
1 Ivan
2 Olga

Смотрите также

  • функцию DATE_ADD,
    которая прибавляет интервал к дате
  • функцию DATE_SUB,
    которая вычитает интервал из даты
  • функцию TIMESTAMPDIFF,
    которая считает разницу в нужных единицах
  • конструкцию INTERVAL,
    которая задаёт интервал времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить