DataWorks改了[hh24-1/24]后为什么结果是23啊?我想取前一小时的?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks中的调度参数是一个用于指定任务调度时间的参数,它可以使用系统内置参数或自定义参数来指定。其中,[hh24]
表示当前小时,[hh24-1]
表示前一个小时,[hh24-24]
表示前24小时。
如果你的调度参数设置为[hh24-1/24]
,那么在调度任务时,DataWorks会将当前时间减去1小时,如果结果小于0,就会被设置为24小时。所以,如果你当前的时间是23点,那么调度任务时就会使用前一个小时,也就是22点的时间。
您提供的日期时间格式是“hh24”,这意味着您提供的日期时间是以24小时制表示的。在这种格式下,如果输入的日期时间为23:00,则表示前一天的23:00。
因此,如果您想要获取前一天的23:00到24:00之间的数据,您应该使用“[hh24-1]”的格式。这样,输入的日期时间将会被转换为23:00,从而获取到前一小时的数据。
例如,如果您的日期时间字段名为“dt”,您可以使用以下查询语句来获取前一小时的数据:
SELECT * FROM your_table WHERE dt BETWEEN '[hh24-1]' AND '[hh24-0]'
这将会返回前一天的23:00到24:00之间的所有数据。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。