我想在复制作业中使用查询来查询Azure Data Factory管道中的源以及日期函数-这是虚拟查询:>
SELECT * FROM public.report_campaign_leaflet WHERE day =“ {today-1d} ”
我找到了一些有关动态内容的文档和其他内容,但是没有有关如何在sql查询中直接使用日期函数的信息。
也许有人对我有暗示?
谢谢! 迈克尔
答案 0 :(得分:1)
这是您问题的可能解决方案。
在复制活动中,在源端,您可以在“使用查询”选项中选择“查询”,然后在查询框中编写一个表达式
这是表达式@concat('SELECT * FROM public.report_campaign_leaflet WHERE day=','"',formatDateTime(adddays(utcnow(),-1), 'yyyy-MM-dd'),'"')
formatDateTime 函数只会将addDays(utcnow(),-1)的输出格式化为yyyy-MM-dd格式
同样,例如,您可以在管道processDate中有一个参数,并在触发器定义中的表达式中设置此值,然后仅在查询中调用该参数。 (建议)
答案 1 :(得分:0)
您需要用两个单引号("
)替换双引号(''
):
@concat('SELECT * FROM public.report_campaign_leaflet WHERE day=','''',formatDateTime(adddays(utcnow(),-1), 'yyyy-MM-dd'),'''')