date_diff 기능

적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상

두 날짜 간 일수 차이 또는 지정된 단위 내 두 타임스탬프 간의 차이를 반환합니다.

구문

date_diff(endDate, startDate)

date_diff(unit, start, end)

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

인수

  • endDate: 끝 DATE 식입니다.
  • startDate: 시작 DATE 식입니다.
  • unit: 측정 단위입니다.
  • start: 시작 TIMESTAMP 식입니다.
  • end: 끝 TIMESTAMP 식입니다.

반품

  • 에 대해 date_diff(endDate, startDate), 는 INTEGER 에서 에서 일수까지의 일수를 startDateendDate나타냅니다.
  • 에 대해 date_diff(unit, start, end)a BIGINT 는 와 end 사이의 차이 start 를 s로 unit측정한 값을 나타냅니다. 이 형태는 기능의 timestampdiff동의어입니다.

시작 값이 끝 값보다 크면 결과는 음수입니다.

함수는 UTC를 기준으로 전체 경과된 단위를 계산하며 DAY은 86400초입니다.

달력 월이 증가하고 캘린더 일과 시간이 시작보다 크거나 같으면 한 달이 경과된 것으로 간주됩니다. 주, 분기 및 연도가 이어집니다.

예제

> SELECT date_diff(DATE'2009-07-31', DATE'2009-07-30');
 1

-- One second shy of a month elapsed
> SELECT date_diff(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 date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

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