# Funciones de Ventana de Tiempo

# tumble

Una ventana de tiempo de caída asigna registros a ventanas continuas y no superpuestas con una duración fija (intervalo).

tumble(atributo_tiempo, intervalo [, zona_horaria])

Argumentos

  • atributo_tiempo - Fecha y hora. Tipo de dato DateTime.
  • intervalo - Intervalo de ventana en tipo de dato Interval.
  • zona_horaria — Nombre de la zona horaria (opcional).

Valores devueltos

  • El límite inferior inclusivo y el límite superior exclusivo de la ventana de caída correspondiente.
  • Tipo: Tupla(DateTime, DateTime)

Ejemplo

SELECT tumble(now(), toIntervalDay('1'))
┌─tumble(now(), toIntervalDay('1'))─────────────┐
│ ('2023-10-27 00:00:00','2023-10-28 00:00:00') │
└───────────────────────────────────────────────┘

# hop

Una ventana de tiempo de salto tiene una duración fija (intervalo_ventana) y salta en un intervalo de salto especificado (intervalo_salto). Si el intervalo_salto es menor que el intervalo_ventana, las ventanas de salto se superponen. Por lo tanto, los registros pueden asignarse a múltiples ventanas.

hop(atributo_tiempo, intervalo_salto, intervalo_ventana [, zona_horaria])

Argumentos

  • atributo_tiempo - Fecha y hora. Tipo de dato DateTime.
  • intervalo_salto - Intervalo de salto en tipo de dato Interval. Debe ser un número positivo.
  • intervalo_ventana - Intervalo de ventana en tipo de dato Interval. Debe ser un número positivo.
  • zona_horaria — Nombre de la zona horaria (opcional).

Valores devueltos

  • El límite inferior inclusivo y el límite superior exclusivo de la ventana de salto correspondiente. Dado que un registro puede asignarse a múltiples ventanas de salto, la función solo devuelve el límite de la primera ventana cuando se utiliza la función de salto sin WINDOW VIEW.
  • Tipo: Tupla(DateTime, DateTime)

Ejemplo

SELECT hop(now(), INTERVAL '1' SECOND, INTERVAL '2' SECOND)
┌─hop(now(), toIntervalSecond('1'), toIntervalSecond('2'))──┐
│ ('2023-10-27 15:10:17','2023-10-27 15:10:19')             │
└───────────────────────────────────────────────────────────┘

# tumbleStart

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

tumbleStart(tupla_limites);
tumbleStart(atributo_tiempo, intervalo [, zona_horaria]);

# tumbleEnd

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

tumbleEnd(tupla_limites);
tumbleEnd(atributo_tiempo, intervalo [, zona_horaria]);

# hopStart

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

hopStart(tupla_limites);
hopStart(atributo_tiempo, intervalo_salto, intervalo_ventana [, zona_horaria]);

# hopEnd

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

hopEnd(tupla_limites);
hopEnd(atributo_tiempo, intervalo_salto, intervalo_ventana [, zona_horaria]);