Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Funciones de ventana de tiempo

Funcionalidad experimental
No es compatible con ClickHouse Cloud

Las funciones de ventana de tiempo devuelven el límite inferior inclusivo y el límite superior exclusivo de la ventana correspondiente. A continuación, se enumeran las funciones para trabajar con WindowView:

hop

Introducido en: v21.12.0

Una ventana de tiempo con salto tiene una duración fija (window_interval) y se desplaza según un intervalo de salto especificado (hop_interval). Si hop_interval es menor que window_interval, las ventanas con salto se superponen. Por lo tanto, los registros pueden asignarse a varias ventanas.

Dado que un registro puede asignarse a varias ventanas de salto, la función solo devuelve el límite de la primera ventana cuando la función hop se usa sin WINDOW VIEW.

Sintaxis

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

Argumentos

  • time_attr — Fecha y hora. DateTime
  • hop_interval — Intervalo de salto positivo. Interval
  • window_interval — Intervalo de ventana positivo. Interval
  • timezone — Opcional. Nombre de la zona horaria. String

Valor devuelto

Devuelve el límite inferior inclusivo y el límite superior exclusivo de la ventana de salto correspondiente. Tuple(DateTime, DateTime)

Ejemplos

Ventana de salto

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

Introducido en: v22.1.0

Devuelve el límite superior exclusivo de la ventana de salto correspondiente.

Como un registro puede asignarse a varias ventanas de salto, la función solo devuelve el límite de la primera ventana cuando la función hop se usa sin WINDOW VIEW.

Sintaxis

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

Argumentos

  • time_attr — Fecha y hora. DateTime
  • hop_interval — Intervalo de salto positivo. Interval
  • window_interval — Intervalo de ventana positivo. Interval
  • timezone — Opcional. Nombre de la zona horaria. String

Valor devuelto

Devuelve el límite superior exclusivo de la ventana de salto correspondiente. DateTime

Ejemplos

Fin de la ventana de salto

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

hopStart

Introducido en: v22.1.0

Devuelve el límite inferior inclusivo de la ventana de salto correspondiente.

Como un registro puede asignarse a varias ventanas de salto, la función solo devuelve el límite de la primera ventana cuando la función hop se usa sin WINDOW VIEW.

Sintaxis

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

Argumentos

  • time_attr — Fecha y hora. DateTime
  • hop_interval — Intervalo de salto positivo. Interval
  • window_interval — Intervalo de ventana positivo. Interval
  • timezone — Opcional. Nombre de la zona horaria. String

Valor devuelto

Devuelve el límite inferior inclusivo de la ventana de salto correspondiente. DateTime

Ejemplos

Inicio de la ventana de salto

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

tumble

Introducido en: v21.12.0

Una ventana de tiempo tumbling asigna los registros a ventanas continuas, no superpuestas, de duración fija (interval).

Sintaxis

tumble(time_attr, interval[, timezone])

Argumentos

  • time_attr — Fecha y hora. DateTime
  • interval — Intervalo de la ventana, en Interval. Interval
  • timezone — Opcional. Nombre de la zona horaria. String

Valor devuelto

Devuelve el límite inferior inclusivo y el límite superior exclusivo de la ventana tumbling correspondiente. Tuple(DateTime, DateTime)

Ejemplos

Ventana 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

Introducido en: v22.1.0

Devuelve el límite superior exclusivo de la ventana tumbling correspondiente.

Sintaxis

tumbleEnd(time_attr, interval[, timezone])

Argumentos

  • time_attr — Fecha y hora. DateTime
  • interval — Intervalo de la ventana, en Interval. Interval
  • timezone — Opcional. Nombre de la zona horaria. String

Valor devuelto

Devuelve el límite superior exclusivo de la ventana tumbling correspondiente. DateTime

Ejemplos

Fin de la ventana tumbling

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

tumbleStart

Introducido en: v22.1.0

Devuelve el límite inferior inclusivo de la ventana tumbling correspondiente.

Sintaxis

tumbleStart(time_attr, interval[, timezone])

Argumentos

  • time_attr — Fecha y hora. DateTime
  • interval — Intervalo de la ventana, en Interval. Interval
  • timezone — Opcional. Nombre de la zona horaria. String

Valor devuelto

Devuelve el límite inferior inclusivo de la ventana tumbling correspondiente. DateTime

Ejemplos

Inicio de la ventana tumbling

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

windowID

Introducido en: v22.1.0

Devuelve el identificador de la ventana tumbling o de salto correspondiente. Esta función solo puede usarse con WINDOW VIEW.

Sintaxis

windowID(time_attr, interval[, timezone])

Argumentos

  • time_attr — Fecha y hora. DateTime
  • interval — Intervalo de la ventana, de tipo Interval. Interval
  • timezone — Opcional. Nombre de la zona horaria. String

Valor devuelto

Devuelve el identificador de la ventana correspondiente. UInt32

Ejemplos

ID de ventana

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