Функции временных окон возвращают включённую нижнюю и исключённую верхнюю границу соответствующего окна. Ниже перечислены функции для работы с WindowView:
hop
Добавленный в: v21.12.0
Временное hop-окно имеет фиксированную длительность (window_interval) и сдвигается на указанный шаг (hop_interval). Если hop_interval меньше window_interval, такие окна перекрываются. Поэтому одна и та же запись может попасть в несколько окон.
Поскольку одна запись может быть отнесена к нескольким hop-окнам, при использовании функции hop без WINDOW VIEW функция возвращает только границу первого окна.
Синтаксис
hop(time_attr, hop_interval, window_interval[, timezone])Аргументы
time_attr— Дата и время.DateTimehop_interval— Положительный интервал hop.Intervalwindow_interval— Положительный интервал окна.Intervaltimezone— Необязательно. Имя часового пояса.String
Возвращаемое значение
Возвращает включённую нижнюю и исключённую верхнюю границы соответствующего hopping-окна. Tuple(DateTime, DateTime)
Примеры
Hopping window
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
Добавленный в: v22.1.0
Возвращает исключённую верхнюю границу соответствующего hopping-окна.
Поскольку одна запись может относиться к нескольким hop-окнам, функция возвращает только границу первого окна, если функция hop используется без WINDOW VIEW.
Синтаксис
hopEnd(time_attr, hop_interval, window_interval[, timezone])Аргументы
time_attr— Дата и время.DateTimehop_interval— Положительный интервал Hop.Intervalwindow_interval— Положительный интервал окна.Intervaltimezone— Необязательно. Имя часового пояса.String
Возвращаемое значение
Возвращает исключённую верхнюю границу соответствующего hopping-окна. DateTime
Примеры
Конец hopping-окна
SELECT hopEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)2026-01-03 00:00:00hopStart
Добавленный в: v22.1.0
Возвращает включённую нижнюю границу соответствующего hopping-окна.
Поскольку одна запись может быть отнесена к нескольким hop-окнам, при использовании функции hop без WINDOW VIEW функция возвращает границу только первого окна.
Синтаксис
hopStart(time_attr, hop_interval, window_interval[, timezone])Аргументы
time_attr— Дата и время.DateTimehop_interval— Положительный интервал hop.Intervalwindow_interval— Положительный интервал окна.Intervaltimezone— Необязательно. Имя часового пояса.String
Возвращаемое значение
Возвращает нижнюю границу соответствующего hopping-окна (включительно). DateTime
Примеры
Начало hopping-окна
SELECT hopStart(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)2026-01-01 00:00:00tumble
Добавленный в: v21.12.0
Временное неперекрывающееся окно распределяет записи по неперекрывающимся последовательным окнам фиксированной длительности (interval).
Синтаксис
tumble(time_attr, interval[, timezone])Аргументы
time_attr— Дата и время.DateTimeinterval— Интервал окна, заданный типом Interval.Intervaltimezone— Необязательно. Имя часового пояса.String
Возвращаемое значение
Возвращает нижнюю границу (включительно) и исключённую верхнюю границу соответствующего неперекрывающегося окна. Tuple(DateTime, DateTime)
Примеры
Неперекрывающееся окно
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
Добавленный в: v22.1.0
Возвращает исключённую верхнюю границу соответствующего неперекрывающегося окна.
Синтаксис
tumbleEnd(time_attr, interval[, timezone])Аргументы
time_attr— Дата и время.DateTimeinterval— Интервал окна типа Interval.Intervaltimezone— Необязательно. Имя часового пояса.String
Возвращаемое значение
Возвращает исключённую верхнюю границу соответствующего неперекрывающегося окна. DateTime
Примеры
Конец неперекрывающегося окна
SELECT tumbleEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))2026-01-03 00:00:00tumbleStart
Добавленный в: v22.1.0
Возвращает нижнюю границу соответствующего неперекрывающегося окна (включительно).
Синтаксис
tumbleStart(time_attr, interval[, timezone])Аргументы
time_attr— Дата и время.DateTimeinterval— Интервал окна типаInterval.Intervaltimezone— Необязательно. Имя часового пояса.String
Возвращаемое значение
Возвращает нижнюю границу (включительно) соответствующего неперекрывающегося окна. DateTime
Примеры
Начало неперекрывающегося окна
SELECT tumbleStart(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))2026-01-02 00:00:00windowID
Добавленный в: v22.1.0
Возвращает идентификатор соответствующего неперекрывающегося окна или hopping-окна.
Эту функцию можно использовать только с WINDOW VIEW.
Синтаксис
windowID(time_attr, interval[, timezone])Аргументы
time_attr— Дата и время.DateTimeinterval— Интервал окна, тип Interval.Intervaltimezone— Необязательно. имя часового пояса.String
Возвращаемое значение
Возвращает идентификатор соответствующего окна. UInt32
Примеры
Идентификатор окна
SELECT windowID(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))1767398400