【发布时间】:2018-11-21 11:01:25
【问题描述】:
数据工厂没有内置的日期差异功能。我想在条件活动中比较 lastModified 日期和 utcnow。我怎样才能实现它?
@greaterOrEquals(activity('Get Metadata1').output.lastModified, '2015-03-15T13:27:36Z')
【问题讨论】:
标签: azure azure-data-factory-2
数据工厂没有内置的日期差异功能。我想在条件活动中比较 lastModified 日期和 utcnow。我怎样才能实现它?
@greaterOrEquals(activity('Get Metadata1').output.lastModified, '2015-03-15T13:27:36Z')
【问题讨论】:
标签: azure azure-data-factory-2
您可以使用ticks 函数将其转换为整数。
Logic Apps function reference for Ticks
ADF UI 可能会显示有关它不是可识别函数的警告,但 ADF 实际上正在使用逻辑应用表达式,因此如果您调试或触发管道,它将成功。
【讨论】:
我通过将日期的年份和月份部分转换为整数并比较它们来解决它。
【讨论】:
我今天遇到了这个问题,我需要检查utcNow() 时间是否大于凌晨 2 点(在数据工厂的 if 块内)。
根据上述建议,我使用了ticks() 函数。我确信它不是最优雅的,但不确定如何很好地转换日期时间的小时部分,因为似乎不支持 hour()。
@if(greaterOrEquals(div(sub(ticks(utcNow()),ticks(startOfDay(utcNow()))),36000000000),2))True,False)
使用 36,000,000,000 除法将 100ns 滴答转换为 utcNow() 和 startOfday(utcNow()) 之间的小时数
【讨论】:
我们可以得到两个日期之间的日期差异计数。 @string(div(div(div(div(sub(ticks(variables('presentdate'))),ticks(variables('pastdate'))),10000000),60),60),24))
【讨论】: