datetrunc()
날짜를 지정한 시간 단위의 구간 시작점으로 절삭하여 반환합니다.
문법
datetrunc(DATE, SPAN[, OFFSET])
매개변수
DATE- 절삭할 날짜를 반환하는 표현식입니다.
SPAN- 절삭 단위와 간격을 나타내는 문자열입니다. 숫자와 단위를 붙여 씁니다. 지원하는 단위는 다음과 같습니다.
| 단위 | 설명 |
|---|---|
s | 초 |
m | 분 |
h | 시 |
d | 일 |
w | 주 |
mon | 월 (1, 2, 3, 4, 6만 허용) |
y | 연 (1만 허용) |
OFFSET- (선택) 절삭 기준점을 이동시킬 오프셋을 나타내는 문자열입니다. SPAN과 같은 단위 형식을 사용합니다. 예를 들어
SPAN="1d",OFFSET="8h"이면 하루 단위 절삭 시 오전 8시를 기준으로 합니다.
설명
datetrunc() 함수는 DATE가 속한 시간 구간의 시작점을 반환합니다. 반환 타입은 날짜입니다.
SPAN에 1mon을 지정하면 해당 월의 1일 00:00:00으로 절삭합니다. 2mon, 3mon, 4mon, 6mon은 각각 2개월, 3개월, 4개월, 6개월 구간의 시작 월 1일로 절삭합니다. 1y를 지정하면 해당 연도의 1월 1일 00:00:00으로 절삭합니다. 1w를 지정하면 해당 주의 월요일 00:00:00으로 절삭합니다.
DATE가 null이거나 날짜 타입이 아닌 경우 null을 반환합니다. SPAN의 amount가 0인 경우 DATE를 그대로 반환합니다.
오류 코드
90640- 인수 개수가 2개 미만인 경우 발생합니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
접근 로그 시각을 1시간 단위로 절삭합니다.
table limit=5 WEB_APACHE_SAMPLE | eval result = datetrunc(_time, "1h") | fields _time, result -
접근 로그 시각을 5분 단위로 절삭합니다.
table limit=5 WEB_APACHE_SAMPLE | eval result = datetrunc(_time, "5m") | fields _time, result -
1시간 단위로 절삭하여 시간별 요청 건수를 집계합니다.
table WEB_APACHE_SAMPLE | eval hour = datetrunc(_time, "1h") | stats count by hour | # 시간별 요청 건수를 출력합니다. -
오프셋을 지정하여 오전 8시 기준으로 업무일 단위 절삭합니다.
table WEB_APACHE_SAMPLE | eval soc_day = datetrunc(_time, "1d", "8h") | stats count by soc_day | # 오전 8시 기준으로 업무일 단위 요청 건수를 출력합니다. -
NULL 입력
json "{}" | eval result = datetrunc(null, "1h") | # result: null
호환성
datetrunc() 함수는 소나 4.0 이전 버전부터 제공되었습니다.