Функция datediff (timestamp)

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 10.4 LTS и выше

Возвращает разницу между двумя метками времени, измеряемыми в объектах unit. Эта функция является синонимом функции метки времени.

Синтаксис

datediff(unit, start, end)

unit
 { MICROSECOND |
   MILLISECOND |
   SECOND |
   MINUTE |
   HOUR |
   DAY |
   WEEK |
   MONTH |
   QUARTER |
   YEAR }

Аргументы

  • unit: единица измерения.
  • start: начальное TIMESTAMP выражение.
  • end: конечное TIMESTAMP выражение.

Возвраты

BIGINT.

Если start больше end, результат будет отрицательным.

Функция подсчитывает число истекших единиц на основе UTC при условии, что DAY насчитывает 86 400 секунд.

Один месяц считается истекшим, когда начинается новый календарный месяц, а календарный день и время равны или больше значения начала. Последующие недели, кварталы и годы.

Примеры

-- One second shy of a month elapsed
> SELECT datediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 11:59:59');
 0

-- One month has passed even though its' not end of the month yet because day and time line up.
> SELECT datediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

-- Start is greater than the end
> SELECT datediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
 -120