Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Funções de janela de tempo

Recurso experimental
Sem suporte no ClickHouse Cloud

As funções de janela de tempo retornam o limite inferior inclusivo e o limite superior exclusivo da janela correspondente. As funções para trabalhar com WindowView estão listadas abaixo:

hop

Introduzido em: v21.12.0

Uma janela de tempo do tipo hop tem uma duração fixa (window_interval) e avança em um intervalo de salto especificado (hop_interval). Se o hop_interval for menor que o window_interval, as janelas hop se sobrepõem. Assim, os registros podem ser atribuídos a várias janelas.

Como um registro pode ser atribuído a várias janelas hop, a função retorna apenas o limite da primeira janela quando a função hop é usada sem WINDOW VIEW.

Sintaxe

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

Argumentos

  • time_attr — Data e hora. DateTime
  • hop_interval — Intervalo de hop positivo. Interval
  • window_interval — Intervalo da janela positivo. Interval
  • timezone — Opcional. Nome do fuso horário. String

Valor retornado

Retorna o limite inferior inclusivo e o limite superior exclusivo da janela hop correspondente. Tuple(DateTime, DateTime)

Exemplos

Janela hop

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

Introduzido em: v22.1.0

Retorna o limite superior exclusivo da janela hop correspondente.

Como um registro pode ser atribuído a várias janelas hop, a função retorna apenas o limite da primeira janela quando a função hop é usada sem WINDOW VIEW.

Sintaxe

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

Argumentos

  • time_attr — Data e hora. DateTime
  • hop_interval — Intervalo de hop positivo. Interval
  • window_interval — Intervalo da janela positivo. Interval
  • timezone — Opcional. Nome do fuso horário. String

Valor retornado

Retorna o limite superior exclusivo da janela hop correspondente. DateTime

Exemplos

Fim da janela hop

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

hopStart

Introduzido em: v22.1.0

Retorna o limite inferior inclusivo da janela hop correspondente.

Como um registro pode ser atribuído a várias janelas hop, a função retorna apenas o limite da primeira janela quando a função hop é usada sem WINDOW VIEW.

Sintaxe

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

Argumentos

  • time_attr — Data e hora. DateTime
  • hop_interval — Intervalo de hop positivo. Interval
  • window_interval — Intervalo da janela positivo. Interval
  • timezone — Opcional. Nome do fuso horário. String

Valor retornado

Retorna o limite inferior inclusivo da janela hop correspondente. DateTime

Exemplos

Início da janela hop

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

tumble

Introduzido em: v21.12.0

Uma janela de tempo do tipo tumble atribui registros a janelas contínuas, sem sobreposição, com duração fixa (interval).

Sintaxe

tumble(time_attr, interval[, timezone])

Argumentos

  • time_attr — Data e hora. DateTime
  • interval — Intervalo da janela, em Interval. Interval
  • timezone — Opcional. Nome do fuso horário. String

Valor retornado

Retorna o limite inferior inclusivo e o limite superior exclusivo da janela tumbling correspondente. Tuple(DateTime, DateTime)

Exemplos

Janela tumbling

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

Introduzido em: v22.1.0

Retorna o limite superior exclusivo da janela tumbling correspondente.

Sintaxe

tumbleEnd(time_attr, interval[, timezone])

Argumentos

  • time_attr — Data e hora. DateTime
  • interval — Intervalo da janela, em Interval. Interval
  • timezone — Opcional. Nome do fuso horário. String

Valor retornado

Retorna o limite superior exclusivo da janela tumbling correspondente. DateTime

Exemplos

Fim da janela tumbling

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

tumbleStart

Introduzido em: v22.1.0

Retorna o limite inferior inclusivo da janela tumbling correspondente.

Sintaxe

tumbleStart(time_attr, interval[, timezone])

Argumentos

  • time_attr — Data e hora. DateTime
  • interval — Intervalo da janela, em Interval. Interval
  • timezone — Opcional. Nome do fuso horário. String

Valor retornado

Retorna o limite inferior inclusivo da janela tumbling correspondente. DateTime

Exemplos

Início da janela tumbling

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

windowID

Introduzido em: v22.1.0

Retorna o identificador da janela correspondente do tipo janela tumbling ou janela hop. Esta função só pode ser usada com WINDOW VIEW.

Sintaxe

windowID(time_attr, interval[, timezone])

Argumentos

  • time_attr — Data e hora. DateTime
  • interval — Intervalo da janela, em Interval. Interval
  • timezone — Opcional. Nome do fuso horário. String

Valor retornado

Retorna o identificador da janela correspondente. UInt32

Exemplos

ID da janela

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