Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

시간 윈도우 함수

실험 기능
ClickHouse Cloud에서 지원되지 않음

시간 윈도우 함수는 해당 윈도우의 하한은 포함하고 상한은 제외한 경계를 반환합니다. WindowView 작업에 사용되는 함수는 아래와 같습니다:

hop

도입 버전: v21.12.0

호핑 시간 윈도우는 고정된 기간(window_interval)을 가지며, 지정된 홉 인터벌(hop_interval) 간격으로 이동합니다. hop_intervalwindow_interval보다 작으면 호핑 윈도우는 서로 겹칩니다. 따라서 레코드는 여러 윈도우에 할당될 수 있습니다.

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

구문

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

인수

  • time_attr — 날짜 및 시간입니다. DateTime
  • hop_interval — 양수 홉 인터벌입니다. Interval
  • window_interval — 양수 윈도우 인터벌입니다. Interval
  • timezone — 선택 사항입니다. 시간대 이름입니다. String

반환 값

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

예시

호핑 윈도우

SELECT hop(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)
('2026-01-01 00:00:00','2026-01-03 00:00:00')

hopEnd

도입 버전: v22.1.0

해당 호핑 윈도우의 상한(제외)을 반환합니다.

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

구문

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

인수

  • time_attr — 날짜 및 시간입니다. DateTime
  • hop_interval — 양수 홉 인터벌입니다. Interval
  • window_interval — 양수 윈도우 인터벌입니다. Interval
  • timezone — 선택 사항입니다. 시간대 이름입니다. String

반환 값

해당 호핑 윈도우의 상한(제외)을 반환합니다. DateTime

예시

호핑 윈도우 종료

SELECT hopEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)
2026-01-03 00:00:00

hopStart

도입 버전: v22.1.0

해당 호핑 윈도우의 하한(포함)을 반환합니다.

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

구문

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

인수

  • time_attr — 날짜 및 시간입니다. DateTime
  • hop_interval — 양수 홉 인터벌입니다. Interval
  • window_interval — 양수 윈도우 인터벌입니다. Interval
  • timezone — 선택 사항입니다. 시간대 이름입니다. String

반환 값

해당 호핑 윈도우의 하한(포함)을 반환합니다. DateTime

예시

호핑 윈도우 시작점

SELECT hopStart(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)
2026-01-01 00:00:00

tumble

도입 버전: v21.12.0

텀블링 시간 윈도우는 레코드를 고정된 기간(interval)의 서로 겹치지 않는 연속된 윈도우에 할당합니다.

구문

tumble(time_attr, interval[, timezone])

인수

  • time_attr — 날짜 및 시간입니다. DateTime
  • interval — 윈도우 인터벌을 나타내는 Interval입니다. Interval
  • timezone — 선택 사항입니다. 시간대 이름입니다. String

반환 값

해당 텀블링 윈도우의 하한(포함)과 상한(제외)을 반환합니다. Tuple(DateTime, DateTime)

예시

텀블링 윈도우

SELECT tumble(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))
('2026-01-02 00:00:00','2026-01-03 00:00:00')

tumbleEnd

도입 버전: v22.1.0

해당 텀블링 윈도우의 상한(제외)을 반환합니다.

구문

tumbleEnd(time_attr, interval[, timezone])

인수

  • time_attr — 날짜 및 시간입니다. DateTime
  • intervalInterval 타입의 윈도우 인터벌입니다. Interval
  • timezone — 선택 사항입니다. 시간대 이름입니다. String

반환 값

해당 텀블링 윈도우의 상한(제외)을 반환합니다. DateTime

예시

텀블링 윈도우 종료 시점

SELECT tumbleEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))
2026-01-03 00:00:00

tumbleStart

도입 버전: v22.1.0

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

구문

tumbleStart(time_attr, interval[, timezone])

인수

  • time_attr — 날짜 및 시간입니다. DateTime
  • interval — 인터벌(Interval) 타입의 윈도우 인터벌입니다. Interval
  • timezone — 선택 사항입니다. 시간대 이름입니다. String

반환 값

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

예시

텀블링 윈도우 시작

SELECT tumbleStart(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))
2026-01-02 00:00:00

windowID

도입 버전: v22.1.0

해당 텀블링 윈도우 또는 호핑 윈도우의 식별자를 반환합니다. 이 함수는 WINDOW VIEW에서만 사용할 수 있습니다.

구문

windowID(time_attr, interval[, timezone])

인수

  • time_attr — 날짜 및 시간입니다. DateTime
  • intervalInterval 단위의 윈도우 인터벌입니다. Interval
  • timezone — 선택 사항입니다. 시간대 이름입니다. String

반환 값

해당 윈도우의 식별자를 반환합니다. UInt32

예시

윈도우 ID

SELECT windowID(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))
1767398400
Navigation