任务参数语法参考

本页是任务参数的完整语法手册,包含系统内置参数、时间表达式和内置时间函数的详细说明。

系统内置参数

系统预置了一系列常用参数,可直接用于参数赋值,无需手动计算。

日期时间类参数

参数名格式说明示例(基准时间2023-09-22 18:00:00)
bizdate
bizdate
yyyyMMdd业务日期(计划时间-1天)20230921
sys_biz_day
sys_biz_day
yyyy-MM-dd业务日期2023-09-21
sys_biz_datetime
sys_biz_datetime
yyyy-MM-dd HH:mm:ss业务时间2023-09-21 18:00:00
sys_plan_day
sys_plan_day
yyyy-MM-dd计划日期2023-09-22
sys_plan_datetime
sys_plan_datetime
yyyy-MM-dd HH:mm:ss计划时间2023-09-22 18:00:00
sys_plan_timestamp
sys_plan_timestamp
13位时间戳计划时间戳(毫秒)1695463200000

任务信息类参数

参数名说明示例注意事项
sys_task_id
sys_task_id
任务ID1002仅调度运行时支持
sys_task_name
sys_task_name
任务名称demo_task仅调度运行时支持
sys_task_owner
sys_task_owner
任务负责人UAT_TEST仅调度运行时支持

使用示例

-- 使用业务日期过滤分区 SELECT * FROM table WHERE dt = '${dt}'; -- 参数配置:dt = sys_biz_day -- 调度时间2023-09-22,实际执行:WHERE dt = '2023-09-21' -- 使用计划时间戳 SELECT * FROM table WHERE create_time >= ${start_ts}; -- 参数配置:start_ts = sys_plan_timestamp -- 结果:WHERE create_time >= 1695463200000

使用建议

  • 业务日期场景:优先使用
    bizdate
    bizdate
    sys_biz_day
    sys_biz_day
  • 需要时分秒:使用
    sys_biz_datetime
    sys_biz_datetime
    sys_plan_datetime
    sys_plan_datetime
  • 时间戳计算:使用
    sys_plan_timestamp
    sys_plan_timestamp
  • 审计日志:使用
    sys_task_*
    sys_task_*
    系列参数记录任务信息

时间表达式

时间表达式支持灵活的时间格式化和偏移计算,是参数系统的核心功能。

基础语法

$[时间格式] # 基本格式化 $[时间格式, 偏移量] # 带偏移量 $[时间格式, 偏移1, 偏移2, ...] # 多个偏移量(按顺序依次计算)

时间格式元素

时间表达式遵循 ISO-8601 标准,严格区分大小写。

元素含义示例
yyyy
yyyy
四位年份2023
yy
yy
两位年份23
MM
MM
两位月份(01-12)09
dd
dd
两位日期(01-31)22
HH
HH
24小时制小时(00-23)18
mm
mm
分钟(00-59)59
ss
ss
秒(00-59)49
.SSS
.SSS
毫秒0.377
ZZ
ZZ
时区+08:00

常用格式组合

$[yyyy-MM-dd] → 2023-09-22 $[yyyyMMdd] → 20230922 $[yyyy/MM/dd] → 2023/09/22 $[yyyy-MM-dd HH:mm:ss] → 2023-09-22 18:00:00 $[yyyyMMddHHmmss] → 20230922180000 $[HH:mm:ss] → 18:00:00 $[yyyy-MM-dd HH:mm:ss.SSSZZ] → 2023-09-22 18:00:00.377+08:00

时间偏移量

单位缩写全称示例
毫秒msmilli/millisecond400ms
ssec/second30s
分钟mmin/minute15m
小时hhour2h
dday-1d
wweek-1w
monmonth-1mon
yyear-1y

偏移量示例

$[yyyy-MM-dd, -1d] → 昨天 $[yyyy-MM-dd, 1d] → 明天 $[yyyy-MM-dd, -1mon] → 上个月今天 $[yyyy-MM-dd, -1y] → 去年今天 $[HH:mm:ss, -1h] → 1小时前 -- 多个偏移量(按顺序依次计算) $[yyyy-MM-dd, -1y, -1mon, -1d] → 去年上个月昨天 $[yyyyMMdd, 1mon, -7d] → 下月退7天


内置时间函数

用于处理时间表达式无法直接表达的计算场景,如"本月第一天"、"上周日"等。

月份相关函数

first_day_of_month()
first_day_of_month()
— 当月第一天

first_day_of_month() # 默认格式 yyyy-MM-dd first_day_of_month(format) # 指定格式 first_day_of_month(format, duration) # 带偏移量

-- 当月第一天 month_start = first_day_of_month() → 2023-09-01 -- 上月第一天 last_month_start = first_day_of_month('yyyy-MM-dd', '-1mon') → 2023-08-01 -- 自定义格式 month_start = first_day_of_month('yyyyMMdd') → 20230901

last_day_of_month()
last_day_of_month()
— 当月最后一天

last_day_of_month() # 默认格式 yyyy-MM-dd last_day_of_month(format) # 指定格式 last_day_of_month(format, duration) # 带偏移量

-- 当月最后一天 month_end = last_day_of_month() → 2023-09-30 -- 上月最后一天 last_month_end = last_day_of_month('yyyy-MM-dd', '-1mon') → 2023-08-31

周相关函数

first_day_of_week()
first_day_of_week()
— 当周第一天(周一)

first_day_of_week() # 默认格式 yyyy-MM-dd first_day_of_week(format) # 指定格式 first_day_of_week(format, duration) # 带偏移量

-- 本周一(假设当前2023-09-22 周五) week_start = first_day_of_week() → 2023-09-18 -- 上周一 last_week_start = first_day_of_week('yyyy-MM-dd', '-1w') → 2023-09-11

last_day_of_week()
last_day_of_week()
— 当周最后一天(周日)

last_day_of_week() # 默认格式 yyyy-MM-dd last_day_of_week(format) # 指定格式 last_day_of_week(format, duration) # 带偏移量

-- 本周日 week_end = last_day_of_week() → 2023-09-24 -- 上周日 last_week_end = last_day_of_week('yyyy-MM-dd', '-1w') → 2023-09-17

day_of_week()
day_of_week()
— 返回是周几

day_of_week() # 今天是周几(返回 1-7,1=周一,7=周日) day_of_week(duration) # 偏移后是周几

weekday = day_of_week() → 5(周五) weekday = day_of_week('-1d') → 4(昨天周四)

get_day_of_week()
get_day_of_week()
— 获取指定周几的日期

get_day_of_week(format, whichDay) # 本周的周几(1=周一,7=周日) get_day_of_week(format, whichDay, duration) # 偏移后那周的周几

-- 本周二(假设当前2023-09-22 周五) this_tuesday = get_day_of_week('yyyy-MM-dd', 2) → 2023-09-19 -- 上周三 last_wednesday = get_day_of_week('yyyy-MM-dd', 3, '-1w') → 2023-09-13 -- 下周五 next_friday = get_day_of_week('yyyy-MM-dd', 5, '1w') → 2023-09-29

week_of_month()
week_of_month()
— 本月第几周

week_of_month() # 今天在本月第几周(返回整数) week_of_month(duration) # 偏移后在当月第几周

week_of_year()
week_of_year()
— 本年第几周

week_of_year() # 今天在本年第几周(返回整数) week_of_year(duration) # 偏移后在当年第几周

时间戳函数

timestamp()
timestamp()
— 毫秒时间戳

timestamp() # 当前计划时间的毫秒时间戳(13位) timestamp(offset1, offset2, ...) # 带偏移量

current_ts = timestamp() → 1695463200000(2023-09-22 18:00:00) yesterday_ts = timestamp(-1d) → 1695376800000

biz_timestamp()
biz_timestamp()
— 业务时间戳(基于00:00:00)

biz_timestamp() # 今天00:00:00的毫秒时间戳(13位) biz_timestamp(offset1, offset2, ...) # 带偏移量

today_start = biz_timestamp() → 1695312000000(2023-09-22 00:00:00) yesterday_start = biz_timestamp(-1d) → 1695225600000


快速速查表

常用时间需求速查

需求参数配置示例结果(基准2023-09-22)
今天
$[yyyy-MM-dd]
$[yyyy-MM-dd]
sys_plan_day
sys_plan_day
2023-09-22
昨天
$[yyyy-MM-dd, -1d]
$[yyyy-MM-dd, -1d]
sys_biz_day
sys_biz_day
2023-09-21
上周同一天
$[yyyy-MM-dd, -7d]
$[yyyy-MM-dd, -7d]
2023-09-15
上月同一天
$[yyyy-MM-dd, -1mon]
$[yyyy-MM-dd, -1mon]
2023-08-22
本月第一天
first_day_of_month()
first_day_of_month()
2023-09-01
本月最后一天
last_day_of_month()
last_day_of_month()
2023-09-30
上月第一天
first_day_of_month('yyyy-MM-dd', '-1mon')
first_day_of_month('yyyy-MM-dd', '-1mon')
2023-08-01
上月最后一天
last_day_of_month('yyyy-MM-dd', '-1mon')
last_day_of_month('yyyy-MM-dd', '-1mon')
2023-08-31
本周一
first_day_of_week()
first_day_of_week()
2023-09-18
本周日
last_day_of_week()
last_day_of_week()
2023-09-24
上周一
first_day_of_week('yyyy-MM-dd', '-1w')
first_day_of_week('yyyy-MM-dd', '-1w')
2023-09-11
上周日
last_day_of_week('yyyy-MM-dd', '-1w')
last_day_of_week('yyyy-MM-dd', '-1w')
2023-09-17
本周二
get_day_of_week('yyyy-MM-dd', 2)
get_day_of_week('yyyy-MM-dd', 2)
2023-09-19
去年昨天
$[yyyy-MM-dd, -1y, -1d]
$[yyyy-MM-dd, -1y, -1d]
2022-09-21
今天00:00时间戳
biz_timestamp()
biz_timestamp()
1695312000000
当前时间戳
timestamp()
timestamp()
1695463200000

时间函数速查

函数功能返回类型
first_day_of_month()
first_day_of_month()
当月第一天日期字符串
last_day_of_month()
last_day_of_month()
当月最后一天日期字符串
first_day_of_week()
first_day_of_week()
当周第一天(周一)日期字符串
last_day_of_week()
last_day_of_week()
当周最后一天(周日)日期字符串
day_of_week()
day_of_week()
返回周几(1-7)整数
week_of_month()
week_of_month()
本月第几周整数
week_of_year()
week_of_year()
本年第几周整数
get_day_of_week()
get_day_of_week()
获取指定周几的日期日期字符串
timestamp()
timestamp()
毫秒时间戳(基于计划时间)13位整数
biz_timestamp()
biz_timestamp()
毫秒时间戳(基于00:00:00)13位整数
unix_timestamp()
unix_timestamp()
秒时间戳10位整数
biz_unix_timestamp()
biz_unix_timestamp()
业务秒时间戳10位整数
biz_format()
biz_format()
业务时间格式化字符串

相关文档

联系我们
预约咨询
微信咨询
电话咨询