datediff()

두 날짜 사이의 차이를 지정한 시간 단위로 계산하여 반환합니다.

문법

datediff(START_DATE, END_DATE, UNIT)

매개변수

START_DATE
시작 날짜를 반환하는 표현식입니다.
END_DATE
종료 날짜를 반환하는 표현식입니다.
UNIT
차이를 계산할 시간 단위를 나타내는 문자열입니다. 지원하는 단위는 다음과 같습니다.
단위설명
year
mon
week
day
hour
min
sec
msec밀리초

설명

datediff() 함수는 END_DATE에서 START_DATE를 뺀 차이를 지정한 단위로 계산하여 반환합니다. 반환 타입은 64비트 정수입니다.

week, day, hour, min, sec, msec 단위는 밀리초 차이를 해당 단위로 나누어 계산합니다. yearmon 단위는 윤년 오차를 방지하기 위해 달력 기반으로 계산합니다.

START_DATE 또는 END_DATE가 null이거나 날짜 타입이 아닌 경우 null을 반환합니다.

오류 코드

90630
인수 개수가 3개가 아닌 경우 발생합니다.
90631
UNIT 값이 유효하지 않은 경우 발생합니다. field 파라미터에 잘못된 단위가 포함됩니다.

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. 접근 로그 시각부터 현재까지의 차이를 시간 단위로 계산합니다.

    table limit=5 WEB_APACHE_SAMPLE | eval diff_hour = datediff(_time, now(), "hour")
    | fields _time, diff_hour
    
  2. 접근 로그 시각부터 현재까지의 차이를 여러 단위로 계산합니다.

    table limit=5 WEB_APACHE_SAMPLE
    | eval diff_day = datediff(_time, now(), "day"),
           diff_hour = datediff(_time, now(), "hour"),
           diff_min = datediff(_time, now(), "min")
    | fields _time, diff_day, diff_hour, diff_min
    
  3. NULL 입력

    json "{}" | eval result = datediff(null, now(), "day")
    | # result: null
    

호환성

datediff() 함수는 소나 4.0 이전 버전부터 제공되었습니다.