TIMEDIFF

TIMEDIFF

지정된 날짜 또는 시간 단위를 기준으로 두 날짜, 시간 또는 타임스탬프 표현식 간의 차이를 계산해요. 이 함수는 세 번째 인자에서 두 번째 인자를 뺀 결과를 반환해요.

DATEDIFF의 대안이에요.

출처: Snowflake TIMEDIFF 함수 문서

본문

구문 (Syntax)

TIMEDIFF(  ,  ,  )

인자 (Arguments)

  • date_or_time_part — 시간의 단위예요. 지원되는 날짜 및 시간 단위 문서에 나열된 값 중 하나여야 해요 (예: month). 값은 문자열 리터럴이거나 따옴표 없이 사용할 수 있어요 (예: 'month' 또는 month).
  • date_or_time_expr1, date_or_time_expr2 — 비교할 값이에요. 날짜, 시간, 타임스탬프, 또는 날짜·시간·타임스탬프로 평가될 수 있는 표현식이어야 해요. date_or_time_expr2에서 date_or_time_expr1을 뺍니다.

반환 값 (Returns)

date_or_time_expr2와 date_or_time_expr1 사이의 단위(초, 일 등) 수 차이를 나타내는 정수를 반환해요.

사용 노트 (Usage Notes)

  • 출력 값은 음수일 수 있어요 (예: -12일).
  • 이 함수는 연, 분기, 월, 주, 일, 시, 분, 초, 밀리초, 마이크로초, 나노초 단위를 지원해요.
  • date_or_time_part가 week(또는 그 변형)이면 출력은 WEEK_START 세션 매개변수에 의해 제어돼요. 자세한 내용과 예제는 달력 주 및 요일(Calendar weeks and weekdays) 문서를 참고해요.
  • 차이를 계산하는 데 사용되는 단위(예: month)는 DATE, TIME, TIMESTAMP 필드의 어느 부분이 평가되는지를 결정해요. 따라서 단위가 결과의 정밀도를 결정해요.
  • 더 작은 단위는 사용되지 않으므로 값은 반올림되지 않아요. 예를 들어 2021년 1월 1일과 2021년 2월 28일의 차이는 1개월보다 2개월에 더 가깝지만, 다음은 1개월을 반환해요:
DATEDIFF(month, '2021-01-01'::DATE, '2021-02-28'::DATE)

DATE 값의 경우:

  • year는 연도만 사용하고 다른 모든 부분은 무시해요.
  • month는 월과 연도를 사용해요.
  • day는 전체 날짜를 사용해요.

TIME 값의 경우:

  • hour는 시간만 사용하고 다른 모든 부분은 무시해요.
  • minute는 시와 분을 사용해요.
  • second는 시, 분, 초를 사용하지만 소수 초는 사용하지 않아요.
  • millisecond는 시, 분, 초, 소수 초의 처음 세 자리를 사용해요. 소수 초는 반올림되지 않아요. 예를 들어 DATEDIFF(milliseconds, '2024-02-20 21:18:41.0000', '2024-02-20 21:18:42.1239')는 1.124초가 아닌 1.123초를 반환해요.
  • microsecond는 시, 분, 초, 소수 초의 처음 여섯 자리를 사용해요. 소수 초는 반올림되지 않아요.
  • nanosecond는 시, 분, 초, 소수 초의 아홉 자리 모두를 사용해요.

TIMESTAMP 값의 경우: 규칙은 위의 DATE 및 TIME 데이터 타입 규칙과 일치해요. 지정된 단위와 그보다 큰 단위만 사용돼요.

예제 (Examples)

두 날짜를 뺀 결과를 보여주는데, 두 번째가 첫 번째보다 2년 더 늦어요:

SELECT TIMEDIFF(YEAR, '2017-01-01', '2019-01-01') AS Years;
+-------+
| YEARS |
|-------|
|     2 |
+-------+

값이 반올림이 아니라 잘림임을 보여줘요. 차이는 11개월보다 12개월에 더 가깝지만, Snowflake는 그 차이를 11개월로 계산해요:

SELECT TIMEDIFF(MONTH, '2017-01-1', '2017-12-31') AS Months;
+--------+
| MONTHS |
|--------|
|     11 |
+--------+

추가 예제는 DATEDIFF 문서에 있어요.

더 알아보기