Перейти к основному содержимому

datediff

Описание

Вычисляет разность между двумя значениями дат (expr1 - expr2) и возвращает результат в днях. expr1 и expr2 являются допустимыми выражениями DATE или DATETIME.

Примечание: В вычислениях используются только части значений, относящиеся к дате.

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

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

Разница между datediff и date_diff заключается в том, что date_diff поддерживает параметр unit, который может возвращать разность между двумя значениями дат в указанных единицах измерения.

Синтаксис

INT DATEDIFF(DATETIME expr1,DATETIME expr2)

Примеры

MySQL > select datediff(CAST('2007-12-31 23:59:59' AS DATETIME), CAST('2007-12-30' AS DATETIME));
+-----------------------------------------------------------------------------------+
| datediff(CAST('2007-12-31 23:59:59' AS DATETIME), CAST('2007-12-30' AS DATETIME)) |
+-----------------------------------------------------------------------------------+
| 1 |
+-----------------------------------------------------------------------------------+

MySQL > select datediff(CAST('2010-11-30 23:59:59' AS DATETIME), CAST('2010-12-31' AS DATETIME));
+-----------------------------------------------------------------------------------+
| datediff(CAST('2010-11-30 23:59:59' AS DATETIME), CAST('2010-12-31' AS DATETIME)) |
+-----------------------------------------------------------------------------------+
| -31 |
+-----------------------------------------------------------------------------------+

Ссылки

date_diff