Azure:比较数据工厂中的日期

Azure: Compare dates in Data factory

数据工厂没有内置日期差异功能。我想在 if 条件 activity 中比较 lastModified 日期和 utcnow。我怎样才能实现它?

@greaterOrEquals(activity('Get Metadata1').output.lastModified, '2015-03-15T13:27:36Z')

我通过将日期的年份和月份部分转换为整数并比较它们来解决它。

您可以使用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(变量('presentdate')),ticks(变量( 'pastdate'))),10000000),60),60),24))