daterange()

시작 날짜부터 종료 날짜 직전까지 지정한 간격으로 날짜 목록을 생성하여 반환합니다.

문법

daterange(START_DATE, END_DATE[, INTERVAL])

매개변수

START_DATE
범위의 시작 날짜를 반환하는 표현식입니다.
END_DATE
범위의 종료 날짜를 반환하는 표현식입니다. 반환되는 목록에 END_DATE는 포함되지 않습니다.
INTERVAL
(선택) 날짜 목록 생성에 사용할 간격을 나타내는 문자열입니다. 숫자와 단위를 붙여 씁니다. 지원하는 단위는 다음과 같습니다.
단위설명
s초
m분
h시
d일
w주
mon월 (1, 2, 3, 4, 6만 허용)
y연 (1만 허용)

INTERVAL을 생략하면 1d(1일)를 사용합니다.

설명

daterange() 함수는 START_DATE에서 시작하여 INTERVAL만큼 증가시키면서 END_DATE 직전까지의 날짜 목록을 배열로 반환합니다. 반환 타입은 날짜의 배열입니다.

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

생성되는 날짜의 수가 100,000건을 초과하면 쿼리가 실패합니다.

오류 코드

파싱 오류

INTERVAL을 지정한 경우에 해당합니다.

오류 코드메시지설명
90500mon 은 12의 약수(1,2,3,4,6)만 사용가능합니다.mon 단위에 1, 2, 3, 4, 6 이외의 값을 지정한 경우
90501y 앞에는 1만 사용가능합니다.y 단위에 1 이외의 값을 지정한 경우
90502시간 단위는 y, mon, w, d, h, m, s 중 하나만 사용 가능합니다.지원하지 않는 시간 단위를 지정한 경우
90503[value]는 유효하지 않은 시간 단위 값입니다.유효하지 않은 숫자를 지정한 경우
런타임 오류

해당 사항 없음

사용 예

  1. 2015년 9월 1일부터 7일까지의 날짜 목록을 하루 간격으로 생성합니다.

    json "{}" | eval dates = daterange(date("20150901", "yyyyMMdd"), date("20150908", "yyyyMMdd"))
    | # dates: ["2015-09-01 00:00:00+0900","2015-09-02 00:00:00+0900","2015-09-03 00:00:00+0900","2015-09-04 00:00:00+0900","2015-09-05 00:00:00+0900","2015-09-06 00:00:00+0900","2015-09-07 00:00:00+0900"]
    
  2. 하루를 4시간 간격으로 나눕니다.

    json "{}" | eval dates = daterange(date("20150901", "yyyyMMdd"), date("20150902", "yyyyMMdd"), "4h")
    | # dates: ["2015-09-01 00:00:00+0900","2015-09-01 04:00:00+0900","2015-09-01 08:00:00+0900","2015-09-01 12:00:00+0900","2015-09-01 16:00:00+0900","2015-09-01 20:00:00+0900"]
    
  3. NULL 입력

    json "{}" | eval dates = daterange(null, date("20150908", "yyyyMMdd"))
    | # dates: null
    

변경 이력

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