Перейти к основному содержимому
Версия: 2.0.x

days_diff

Возвращает разницу в днях между двумя выражениями даты (expr1expr2), точность до дня.

Разница между days_diff и datediff:

ФункцияПоведениеПример
days_diffВычисление с точностью до секунды и округлением вниз до ближайшего целого.days_diff между '2020-12-25 23:00:00' и '2020-12-24 23:00:01' равен 0.
datediffВычисление с точностью до дня.datediff между '2020-12-25 23:00:00' и '2020-12-24 23:00:01' равен 1.

Синтаксис

BIGINT days_diff(DATETIME expr1,DATETIME expr2);

Параметры

  • expr1: конечное время. Должно быть типа DATETIME или DATE.

  • expr2: начальное время. Должно быть типа DATETIME или DATE.

Возвращаемое значение

Возвращает значение типа BIGINT.

Возвращается NULL, если дата не существует, например, 2022-02-29. days_diff() учитывает части часов, минут и секунд в вычислении. Если разница меньше 1 дня, возвращается 0.

Примеры

select days_diff('2010-11-30 23:00:00', '2010-11-29 23:00:00')
+---------------------------------------------------------+
| days_diff('2010-11-30 23:00:00', '2010-11-29 23:00:00') |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+

select days_diff('2010-11-30 23:00:00', '2010-11-29 23:10:00')
+---------------------------------------------------------+
| days_diff('2010-11-30 23:00:00', '2010-11-29 23:10:00') |
+---------------------------------------------------------+
| 0 |
+---------------------------------------------------------+