daterange()

시작 날짜 표현식의 값으로부터 끝 날짜 표현식에 이르기 전까지 시간 단위만큼 건너뛰면서 날짜 값을 생성하여 리스트로 반환합니다. 반환하는 리스트에 끝 날짜는 포함하지 않습니다.

문법

daterange(START_DATE, END_DATE[, INTERVAL{y|mon|w|d|h|m|s}])
필수 매개변수
START_DATE
시작 날짜를 반환하는 표현식을 입력합니다. 다른 타입 값을 받으면 null을 반환합니다.
END_DATE
끝 날짜를 반환하는 표현식을 입력합니다. 다른 타입 값을 받으면 null을 반환합니다.
선택 매개변수
INTERVAL{y|mon|w|d|h|m|s}
시간 단위를 지정합니다. s(초), m(분), h(시), d(일), w(주), mon(월), y(연) 단위로 지정할 수 있습니다. 단위를 지정하지 않으면 1d를 사용합니다.
Caution
시스템 과부하를 방지하기 위해 daterange() 함수의 결과가 10만건을 초과하면 예외를 발생시켜 쿼리를 실패시킵니다.

사용 예

json "{}" 
| eval mark_days=
  daterange(
    date("20150901", "yyyyMMdd"),
    date("20150908", "yyyyMMdd")
  )
  => ["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"]

json "{}" 
| eval mark_days=
  daterange(
    date("20150901", "yyyyMMdd"),
    date("20150902", "yyyyMMdd"),
    "4h"
  )
  => ["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"]

json "{}" | eval mark_days=daterange("20150901", "20150908") => null