您在创建定时SQL任务时,可指定SQL时间窗口。定时SQL任务运行时,日志服务仅分析该SQL时间窗口内的日志。本文介绍SQL时间窗口相关的时间表达式语法。
操作符
时间表达式支持的操作符如下表所示:
| 操作符 | 说明 | 
| + | 加号 | 
| - | 减号 | 
| @ | 取整操作符,根据时间向下取整。例如以小时为单位对时间01:40进行取整,取整后为01:00。 | 
时间表达式的计算单元为±{num}{unit}或@{unit},其中{num}为正整数,{unit}为时间单位。
- 如果操作符为加号(+)、减号(-),则计算单元的格式为±{num}{unit}。其中{num}可省略,省略后的默认值为1。例如时间表达式为-h,则表示减1小时。 
- 如果操作符为at符号(@),则计算单元的格式为@{unit}。 
时间单位
时间表示式所支持的时间单位如下表所示:
| 时间单位 | 说明 | 
| h | 时 | 
| m | 分 | 
| s | 秒 | 
示例
时间表达式示例如下表所示:
| 时间表达式 | 说明 | 
| -15m@m | 先减15分钟再向下取整到分钟。 例如,创建定时SQL任务时,配置调度间隔为每天00:00,延迟执行为30秒,SQL时间窗口为[-15m@m,-5m@m),则表示在00:00:30时刻执行SQL任务,分析[23:45~23:55)期间的数据。 | 
| -h@h | 先减1小时再向下取整到小时。 例如,创建定时SQL任务时,配置调度间隔为每天00:00,延迟执行为30秒,SQL时间窗口为[-h@h,-5m@m),则表示在00:00:30时刻执行SQL任务,分析[23:00~23:55)期间的数据。 | 
| -50m@h | 先减50分钟再向下取整到小时。 例如,创建定时SQL任务时,配置调度间隔为每天00:00,延迟执行为30秒,SQL时间窗口为[-50m@h,-5m@m),则表示在00:00:30时刻执行SQL任务,分析[23:00~23:55)期间的数据。 | 
| -12h+5m | 先减12小时再加5分钟,即减11小时55分钟。 例如,创建定时SQL任务时,配置调度间隔为每天00:00,延迟执行为30秒,SQL时间窗口为[-12h+5m,-5m),则表示在00:00:30时刻执行SQL任务,分析[12:05~23:55)期间的数据。 |