# 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]);