You need to enable JavaScript to run this app.
导航

SQL 时间窗口语法

最近更新时间2023.11.14 19:17:37

首次发布时间2023.08.22 21:10:42

创建定时 SQL 任务时,您需要在 SQL 分析规则配置填写 SQL 时间窗口,用于日志检索分析的时间范围。SQL 时间窗口需要遵循一定的语法规则,本文档介绍对应的语法规则及常见场景的表达式示例。

语法格式

SQL 时间窗口语法支持的语法格式如下:

格式

说明

@{unit}

在原时间的基础上向下进行取整。
例如@h表示以小时为单位对时间进行取整,原时间如果是 01:23:17,取整后为 01:00:00。

+{num}{unit}

在原时间的基础上加指定时间段。
例如 +3h 表示延后 3 小时。

-{num}{unit}

在原时间的基础上减指定时间段。
例如 -30s 表示提前 30 秒。

参数说明如下:

参数

说明

{num}

正整数。可省略,省略后的默认值为 1。例如时间表达式为 -h,则表示减 1 小时。

{unit}

时间单位,例如 m、h、d 等。支持的时间单位请参考时间单位

时间单位

SQL 时间窗口表达式支持的时间单位如下:

时间单位

说明

h

m

s

表达式示例

常见场景的 SQL 时间窗口表达式如下:

开始时间

结束时间

说明

@m-15m

@m

前 15 分钟。
如果调度开始时间为 10:00,调度间隔为每隔 15 分钟执行一次,SQL 时间窗口为 [@m-15m,@m),执行延迟为 30 秒,则实例调度时间为 10:00:00,执行时间为 10:00:30,分析 [09:45~10:00) 期间的数据。

@h-3h

@h

前 3 小时。
如果调度开始时间为 10:00,调度间隔为每隔 3 小时执行一次,SQL 时间窗口为[@h-3h,@h),执行延迟为 30 秒,则实例调度时间为 10:00:00,执行时间为10:00:30,分析 [07:00~10:00) 期间的数据。

@h-12h-30m

@h

前 12 小时 30 分钟。
如果调度开始时间为 22:30:00,调度间隔为每隔12.5小时(750分钟)执行一次,SQL 时间窗口为[@h-12h-30m,@h),执行延迟为 30 秒,则实例调度时间为 22:30:00,执行时间为 22:30:30,分析当天 [10:00~22:30) 期间的数据。