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 이전 버전부터 제공되었습니다.