自定义参数分为系统内置参数、自定义参数${..}、自定义参数$[...]、常量,不同类别的参数赋值格式及取值不同。本文为您介绍不同格式自定义参数的取值差异对比情况。
不同格式自定义参数的应用对比
以当前时间为2021年11月01日
,任务每天00:00
定时运行,示例不同格式自定义参数的赋值情况,具体如下表。
假设代码引用方式均为pt=${datetime}
。
参数格式 | 描述 | 调度参数赋值 | 参数替换结果 |
| 获取业务时间。 |
|
|
| 获取定时时间,精确到秒。 |
|
|
| 获取业务时间。 |
|
|
| 获取定时时间,精确到秒。 |
|
|
| 获取当前时间,精确到天。 |
|
|
| 获取业务月份。 |
|
示例当前时间为 |
${…}和$[…]参数的功能差异
${…}和$[…]参数的功能差异如下表所示。
对比项 | ${…}参数 | $[…]参数 |
时间基准 | 以
| 以
|
补数据功能 | 补数据时选择的业务日期和调度参数的替换结果保持一致。 | 执行补数据时,调度参数替换结果为 例如,补数据选择的业务日期为 |
时间精确度 | 精确到天。 取N年前、N月前等时间数据时,建议使用${...}自定义表达式。 | 精确到秒。 取N小时前、N分钟前等时间数据时,建议使用$[...]自定义表达式。例如: 说明 $[…]参数不支持 |
本文以ODPS SQL节点为例,假设当前时间为2021年07月20日10时30分00秒
,为您展示${…}和$[…]参数的时间取值配置,具体如下表。
时间取值 | ${…}参数 | $[…]参数 |
取年份:2021 |
|
|
取年份:21 |
|
|
取年份:2020 |
| 不支持 |
取月份:07 |
|
|
取日期(天):20 |
|
|
取日期:2021年06月20日 |
|
|
取日期:2021年07月19日 |
|
|
取日期:2020年07月20日 |
|
|
取时间:10:30:00 | 不支持 |
|
取时间:2021-07-20 10:30:00 | 不支持 |
|
取时间:2021-07-20 10:29:00 | 不支持 |
|
取时间:2021-07-20 09:30:00 | 不支持 |
|
取前一天时间,精确到秒,且年月日与时分秒之间无空格: 2021071910:30:00 | 不支持 |
|
取前一天时间,精确到秒,且年月日与时分秒之间有空格: 20210719 10:30:00 | 不支持 | 重要 调度参数赋值表达式中不支持空格,您可以使用两个调度参数,然后在代码引用时使用空格进行拼接。
|