Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Fonctions de fenêtre temporelle

Fonctionnalité expérimentale
Non pris en charge par ClickHouse Cloud

Les fonctions de fenêtre temporelle renvoient la borne inférieure incluse et la borne supérieure exclusive de la fenêtre correspondante. Les fonctions pour utiliser WindowView sont présentées ci-dessous :

hop

Introduit dans : v21.12.0

Une fenêtre temporelle à sauts a une durée fixe (window_interval) et avance selon un intervalle de saut donné (hop_interval). Si hop_interval est inférieur à window_interval, les fenêtres à sauts se chevauchent. Un enregistrement peut donc être affecté à plusieurs fenêtres.

Comme un enregistrement peut être affecté à plusieurs fenêtres à sauts, la fonction renvoie uniquement la borne de la première fenêtre lorsque la fonction hop est utilisée sans WINDOW VIEW.

Syntaxe

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

Arguments

  • time_attr — Date et heure. DateTime
  • hop_interval — Intervalle de saut positif. Interval
  • window_interval — Intervalle de fenêtre positif. Interval
  • timezone — Facultatif. Nom du fuseau horaire. String

Valeur renvoyée

Renvoie la borne inférieure incluse et la borne supérieure exclusive de la fenêtre à sauts correspondante. Tuple(DateTime, DateTime)

Exemples

Fenêtre à sauts

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

Introduit dans : v22.1.0

Renvoie la borne supérieure exclusive de la fenêtre à sauts correspondante.

Comme un enregistrement peut appartenir à plusieurs fenêtres à sauts, la fonction ne renvoie que la borne de la première fenêtre lorsque la fonction hop est utilisée sans WINDOW VIEW.

Syntaxe

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

Arguments

  • time_attr — Date et heure. DateTime
  • hop_interval — intervalle de saut positif. Interval
  • window_interval — intervalle de fenêtre positif. Interval
  • timezone — Facultatif. Nom du fuseau horaire. String

Valeur renvoyée

Renvoie la borne supérieure exclusive de la fenêtre à sauts correspondante. DateTime

Exemples

Fin de la fenêtre à sauts

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

hopStart

Introduit dans : v22.1.0

Renvoie la borne inférieure incluse de la fenêtre à sauts correspondante.

Comme un enregistrement peut être affecté à plusieurs fenêtres à sauts, la fonction ne renvoie que la borne de la première fenêtre lorsque la fonction hop est utilisée sans WINDOW VIEW.

Syntaxe

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

Arguments

  • time_attr — Date et heure. DateTime
  • hop_interval — Intervalle de saut positif. Interval
  • window_interval — Intervalle de fenêtre positif. Interval
  • timezone — Facultatif. Nom du fuseau horaire. String

Valeur renvoyée

Renvoie la borne inférieure incluse de la fenêtre à sauts correspondante. DateTime

Exemples

Début de la fenêtre à sauts

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

tumble

Introduit dans : v21.12.0

Une fenêtre temporelle de type tumble attribue les enregistrements à des fenêtres contiguës, sans chevauchement, d'une durée fixe (interval).

Syntaxe

tumble(time_attr, interval[, timezone])

Arguments

  • time_attr — Date et heure. DateTime
  • interval — Intervalle de fenêtre de type Interval. Interval
  • timezone — Facultatif. Nom du fuseau horaire. String

Valeur renvoyée

Renvoie la borne inférieure incluse et la borne supérieure exclusive de la fenêtre tumbling correspondante. Tuple(DateTime, DateTime)

Exemples

Fenêtre 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

Introduit dans : v22.1.0

Renvoie la borne supérieure exclusive de la fenêtre tumbling correspondante.

Syntaxe

tumbleEnd(time_attr, interval[, timezone])

Arguments

  • time_attr — Date et heure. DateTime
  • interval — Intervalle de fenêtre, de type Interval. Interval
  • timezone — Facultatif. Nom du fuseau horaire. String

Valeur renvoyée

Renvoie la borne supérieure exclusive de la fenêtre tumbling correspondante. DateTime

Exemples

Fin de la fenêtre tumbling

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

tumbleStart

Introduite dans : v22.1.0

Renvoie la borne inférieure incluse de la fenêtre tumbling correspondante.

Syntaxe

tumbleStart(time_attr, interval[, timezone])

Arguments

  • time_attr — Date et heure. DateTime
  • interval — Intervalle de fenêtre, de type Interval. Interval
  • timezone — Facultatif. Nom du fuseau horaire. String

Valeur renvoyée

Renvoie la borne inférieure incluse de la fenêtre tumbling correspondante. DateTime

Exemples

Début de la fenêtre tumbling

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

windowID

Introduit dans : v22.1.0

Renvoie l’identifiant de la fenêtre tumbling ou fenêtre à sauts correspondante. Cette fonction ne peut être utilisée qu’avec WINDOW VIEW.

Syntaxe

windowID(time_attr, interval[, timezone])

Arguments

  • time_attr — Date et heure. DateTime
  • interval — Intervalle de fenêtre de type Interval. Interval
  • timezone — Facultatif. Nom du fuseau horaire. String

Valeur renvoyée

Renvoie l’identifiant de la fenêtre correspondante. UInt32

Exemples

ID de fenêtre

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