datediff

Назначение

Функция datediff рассчитывает разницу в годах, дня, месяцах, часах, минутах или секундах между двумя значениями типа "дата" и возвращает эту разницу как целочисленное значение.

Синтаксис

datediff(дата/время,дата/время,строка)

Аргументы

Функция datediff принимает 3 аргумента. Первые два аргумента - даты. Третий аргумент - размер интервала, представленный строковыми данными.

Третий аргумент может быть одним из следующих значений:

  • "Y" - рассчитывает разницу в годах

  • "M" - рассчитывает разницу в месяцах

  • "D" - рассчитывает разницу в днях

  • "h" - рассчитывает разницу в часах

  • "m" - рассчитывает разницу в минутах

  • "s" - рассчитывает разницу в секундах

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

Функция возвращает целочисленное значение, представляющее разницу между двумя датами.

Вторая дата вычитается из первой. Если вторая дата по времени идет после первой, то возвращается отрицательное целое число (возможно, эту функцию следовать использовать вместе с функцией "abs").

Функция возвращает нулевое значение, если:

  • первый или второй аргумент - нулевые;

  • третий аргумент - нулевой или неверный.

Разница также учитывает тот факт, что две даты могут отличаться в более крупных единицах.

Разница в месяцах между январем 2001 и февралем 2002 не равна 1 месяцу. Между этими двумя датами - 13 полных месяцев разницы, возвращается не 1, а 13. Самой большой единицей в этих данных был год.

Поведение функции такое же, как и при вычислении разницы между меньшими единицами, например днями, часами, минутами или секундами. Измеряется фактическое пройденное количество времени.

Примеры

Выражение

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

datediff(#2012-09-30#,#2012-09-30#,"M")

0

datediff(#2012-10-01#,#2012-08-30#,"M")

2

datediff(#2012-09-24#,#2012-05-10 08:58:00#,"D")

136

datediff(#2012-12-19#,#2013-01-12#, "h")

-576