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을 지정한 경우에 해당합니다.
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 90500 | mon 은 12의 약수(1,2,3,4,6)만 사용가능합니다. | mon 단위에 1, 2, 3, 4, 6 이외의 값을 지정한 경우 |
| 90501 | y 앞에는 1만 사용가능합니다. | y 단위에 1 이외의 값을 지정한 경우 |
| 90502 | 시간 단위는 y, mon, w, d, h, m, s 중 하나만 사용 가능합니다. | 지원하지 않는 시간 단위를 지정한 경우 |
| 90503 | [value]는 유효하지 않은 시간 단위 값입니다. | 유효하지 않은 숫자를 지정한 경우 |
런타임 오류
해당 사항 없음
사용 예
-
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"] -
하루를 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"] -
NULL 입력
json "{}" | eval dates = daterange(null, date("20150908", "yyyyMMdd")) | # dates: null
호환성
daterange() 함수는 소나 4.0 이전 버전부터 제공되었습니다.