

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 计划表达式参考
<a name="scheduled-queries-schedule-reference"></a>

使用这些参考表为计划查询构造计划表达式。所有时间均采用 UTC。

**Cron 表达式语法**

格式：`cron(minute hour day-of-month month day-of-week year)`


| 使用场景 | Cron 表达式 | 说明 | 何时使用 | 
| --- | --- | --- | --- | 
| 每日日程安排 | cron(0 9 \$1 \$1 ? \$1) | 世界标准时间每天上午 9:00 | 每日报告 | 
|  | cron(0 \$1/6 \$1 \$1 ? \$1) | 每 6 个小时（世界标准时间 00:00、06:00、12:00、18:00） | 频繁监控 | 
|  | cron(30 2 \$1 \$1 ? \$1) | 世界标准时间每天凌晨 2:30 | 非高峰期分析 | 
| 营业时间 | cron(0 9-17 ? \$1 MON-FRI \$1) | 世界标准时间周一至周五上午 9 点至下午 5 点，每小时一班 | 业务监控 | 
|  | cron(0 18 ? \$1 MON-FRI \$1) | 世界标准时间工作日下午 6:00 | 工作日结束 | 
|  | cron(0 8,12,17 ? \$1 MON-FRI \$1) | 世界标准时间工作日上午 8 点、中午和下午 5 点 | 关键商业时间 | 
| 每周日程安排 | cron(0 12 ? \$1 SUN \$1) | 世界标准时间每周日中午 | 每周摘要 | 
|  | cron(0 9 ? \$1 MON \$1) | 世界标准时间每周一上午 9:00 | 一周开局报告 | 
|  | cron(0 23 ? \$1 FRI \$1) | 世界标准时间每周五晚上 11:00 | 周末清理 | 
| 每月日程安排 | cron(0 0 1 \$1 ? \$1) | 每个月的第一天午夜（UTC） | 月度报告 | 
|  | cron(0 9 L \$1 ? \$1) | 每个月的最后一天世界标准时间上午 9:00 | 月末处理 | 
|  | cron(0 10 1 1,4,7,10 ? \$1) | 每个季度的第一天世界标准时间上午 10:00 | 季度分析 | 
| 高频 | cron(\$1/15 \$1 \$1 \$1 ? \$1) | 每 15 分钟一次 | 实时监控 | 
|  | cron(0,30 \$1 \$1 \$1 ? \$1) | 每 30 分钟（上午和下午 30 点） | 经常检查 | 
|  | cron(0 \$1/2 \$1 \$1 ? \$1) | 每 2 小时 | 定期间隔 | 
| 特殊案例 | cron(30 8 1 1 ? \$1) | 世界标准时间 1 月 1 日上午 8:30 | 年度报告 | 
|  | cron(0 6 \$1 \$1 SAT,SUN \$1) | 周末世界标准时间上午 6:00 | 周末处理 | 
|  | cron(0 0 ? \$1 MON\$11 \$1) | 每个月的第一个星期一世界标准时间午夜 | 月度计划 | 

**Cron 表达式字段引用**


| 字段 | 值 | 通配符 | 示例 | 
| --- | --- | --- | --- | 
| 分钟（第 1 分钟） | 0-59 | \$1 , - / | 0（每小时）、\$1/15（每 15 分钟一次）、0,30（每小时两次） | 
| 小时（第 2 小时） | 0-23 | \$1 , - / | 9（上午 9 点）、\$1/2（每 2 小时）、9-17（营业时间） | 
| Day-of-month （第 3 名） | 1-31、L、W | \$1 , - / ? | 1（第 1 天）、L（最后一天）、?（使用时 day-of-week） | 
| 月（第 4 个月） | 1-12 或 JAN-DEC | \$1 , - / | 1（一月），JAN，1,4,7,10（每季度） | 
| Day-of-week （第 5 名） | 1-7 或 SUN-SAT | \$1 , - / ? \$1 L | MON-FRI（工作日），SUN，MON\$11（第一个星期一） | 
| 年份（第 6 年） | 1970-2199 | \$1 , - / | \$1（每年）、2024（特定年份）、2024-2026（范围） | 

**通配符和特殊表达式**

**`*`（星号）**  
匹配该字段中的所有值。示例：`*`在 “小时” 字段中表示每小时。

**`?`（问号）**  
没有具体值。在 day-of-month或指定了另一个 day-of-week时使用。示例：`?`在中指定 day-of-month时使用 `MON-FRI` in day-of-week。

**`-`（短划线）**  
值的范围。示例：`MON-FRI`（周一至周五），`9-17`（上午 9 点到下午 5 点）。

**`,`（逗号）**  
多个特定值。示例：`MON,WED,FRI`（星期一、星期三、星期五）、`8,12,17`（上午 8 点、中午、下午 5 点）。

**`/`（斜线）**  
步长值或增量。示例：`0/15`以分钟为单位表示从第 0 分钟（0、15、30、45）开始每 15 分钟。 `*/2`以小时为单位表示每 2 小时。

**`L`（最后）**  
一个月的最后一天或工作日的最后一天。示例：`L`in day-of-month 表示一个月的最后一天。 `FRIL`表示每月的最后一个星期五。

**`W`（工作日）**  
最近的工作日。示例：`15W`表示最接近当月 15 日的工作日。

**`#`（第 n 次出现）**  
一个月中第 N 个工作日出现。示例：`MON#1`表示每月的第一个星期一，`FRI#2`表示该月的第二个星期五。

**常见模式和最佳实践**
+ **对于业务应用程序：**使用`MON-FRI`和工作时间（例如`9-17`）以避免在周末或非工作时间运行查询。
+ **对于高频监控：**使用诸如`*/15`（每 15 分钟）之类的增量，但要注意查询并发限制。
+ **提高资源效率：**使用清晨时间（如 UTC）在非高峰时段安排资源密集型查询。`2-6`
+ **对于月度报告：`L`用于每月**的最后一天或特定日期（例如`1`第一天），以确保时间一致。