我每天都将记录从Azure存储表(源)复制到Azure存储表(接收器)。因此,例如,如果我在2019年12月24日(UTC)执行查询,那么我想复制2019年12月23日(UTC)的记录。该查询工作并且正在做我打算做的事情。这是查询:
Timestamp ge datetime'2019-12-23T00:00Z' and Timestamp lt datetime'2019-12-24T00:00Z'
在上面的查询中,当在其中插入新记录时,时间戳列会自动标记在Azure存储表中。这就是Azure存储表的工作方式。
这是数据工厂管道的屏幕截图:
我现在想参数化查询。也就是说:如果查询于2019年12月24日运行,则它应复制2019年12月23日的记录并在每天按计划执行时保持滑动。我不知道该怎么做。我知道这里有一个utcNow函数,还有一个减去自时间函数。我只是不知道如何将其组合在一起。
您可以执行以下操作:
addDays(startOfDay(utcNow()), -1)
这将找到前一天的开始
@@ 4c74356b41,谢谢您的支持。根据您的答案和更多谷歌搜索,我得以将其拼凑起来。这是最终的表达式:
Timestamp ge @{concat('datetime','''',addDays(startOfDay(utcNow()), -1),'''')} and Timestamp lt @{concat('datetime','''',startOfDay(utcNow()),'''')}