본문으로 바로가기
본문으로 바로가기

시간 윈도우 함수

Experimental feature. Learn more.
Not supported in ClickHouse Cloud

시간 윈도우 함수는 해당 윈도우의 포함되는 하한 값과 제외되는 상한 값을 반환합니다. WindowView와 함께 사용하는 함수는 아래에 나열되어 있습니다.

hop

도입된 버전: v21.12

hopping 시간 윈도우는 고정된 길이의 기간(window_interval)을 가지며, 지정된 hop 간격(hop_interval)만큼 이동합니다. hop_intervalwindow_interval보다 작으면 hopping 윈도우는 서로 겹치게 됩니다. 따라서 레코드는 여러 개의 윈도우에 할당될 수 있습니다.

하나의 레코드가 여러 hop 윈도우에 할당될 수 있으므로, hop FUNCTION이 WINDOW VIEW 없이 사용될 때는 이 함수가 첫 번째 윈도우의 경계만 반환합니다.

문법

hop(time_attr, hop_interval, window_interval[, timezone])

인수(Arguments)

  • time_attr — 날짜와 시간. DateTime
  • hop_interval — 양수 Hop 간격. Interval
  • window_interval — 양수 윈도우 간격. Interval
  • timezone — 선택 사항. 타임존 이름. String

반환 값

해당 hopping 윈도우의 포함 하한과 미포함 상한을 반환합니다. Tuple(DateTime, DateTime)

예시

Hopping 윈도우

SELECT hop(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
('2024-07-03 00:00:00','2024-07-05 00:00:00')

hopEnd

도입 버전: v22.1

해당 hop 윈도우의 배타적 상한값을 반환합니다.

하나의 레코드가 여러 hop 윈도우에 할당될 수 있으므로, WINDOW VIEW 없이 hop 함수가 사용될 때는 첫 번째 윈도우의 상한값만 반환합니다.

구문

hopEnd(time_attr, hop_interval, window_interval[, timezone])

인수

  • time_attr — 날짜와 시간. DateTime
  • hop_interval — 양수의 hop 간격. Interval
  • window_interval — 양수의 윈도우 간격. Interval
  • timezone — 선택적 매개변수. 타임존 이름. String

반환 값

해당 hopping 윈도우의 배타적인 상한값을 반환합니다. DateTime

예시

Hopping 윈도우 종료 시각

SELECT hopEnd(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
2024-07-05 00:00:00

hopStart

도입 버전: v22.1

해당 hop 윈도의 포함되는 하한 값을 반환합니다.

하나의 레코드가 여러 hop 윈도에 할당될 수 있으므로, WINDOW VIEW 없이 hop 함수가 사용되는 경우 이 함수는 첫 번째 윈도의 하한 경계만 반환합니다.

문법

hopStart(time_attr, hop_interval, window_interval[, timezone])

인수

  • time_attr — 날짜와 시간. DateTime
  • hop_interval — 양수 hopping 간격. Interval
  • window_interval — 양수 window 간격. Interval
  • timezone — 선택 사항. 시간대 이름. String

반환 값

해당 hopping window의 포함 구간 하한을 반환합니다. DateTime

예시

Hopping window 시작

SELECT hopStart(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
2024-07-03 00:00:00

tumble

도입된 버전: v21.12

tumbling time window는 레코드를 서로 겹치지 않는 연속적인 고정 기간(interval)의 윈도우에 할당합니다.

구문

tumble(time_attr, interval[, timezone])

인수

  • time_attr — 날짜와 시간. DateTime
  • interval — Interval 형식의 윈도우 간격. Interval
  • timezone — 선택 사항. 타임존 이름. String

반환 값

해당 tumbling 윈도우의 포함 구간 하한과 배제 구간 상한을 반환합니다. Tuple(DateTime, DateTime)

예시

tumbling 윈도우

SELECT tumble(now(), toIntervalDay('1'))
('2024-07-04 00:00:00','2024-07-05 00:00:00')

tumbleEnd

도입 버전: v22.1

해당 텀블링 윈도에 대한 배타적 상한값을 반환합니다.

구문

tumbleEnd(time_attr, interval[, timezone])

인자

  • time_attr — 날짜 및 시간. DateTime
  • interval — 윈도우 간격을 나타내는 Interval 값. Interval
  • timezone — 선택 사항. 타임존 이름. String

반환 값

해당 텀블링 윈도우의 배타적 상한값을 반환합니다. DateTime

예시

텀블링 윈도우 종료 시점

SELECT tumbleEnd(now(), toIntervalDay('1'))
2024-07-05 00:00:00

tumbleStart

도입 버전: v22.1

해당 텀블링 윈도우의 포함된 하한 값을 반환합니다.

구문

tumbleStart(time_attr, interval[, timezone])

인수

  • time_attr — 날짜와 시간. DateTime
  • interval — 윈도우 간격을 나타내는 Interval 값. Interval
  • timezone — 선택 사항. 시간대 이름. String

반환 값

해당 텀블링 윈도우(tumbling window)의 포함되는 하한값을 반환합니다. DateTime

예시

텀블링 윈도우 시작

SELECT tumbleStart(now(), toIntervalDay('1'))
2024-07-04 00:00:00