使用Azure数据工厂复制活动时,我可以触发源SQL查询,例如
SELECT * FROM Table WHERE ModifiedTime BETWEEN SliceStart and SliceEnd
然而,SliceStart和SliceEnd似乎是UTC。如何将它们转换为另一个时区,特别是受DST影响的时区,例如PST,假设我无法在源数据库上部署代码。
答案 0 :(得分:1)
尝试使用数据工厂的时间操作功能之一作为此问题的解决方法ADF Functions
{
"Type": "SqlSource",
"sqlReaderQuery": "$$Text.Format('SELECT * FROM MyTable WHERE StartTime = \\'{0:yyyyMMdd-HH}\\'', WindowStart)"
}
它不是PST转换,但您可以将其用作解决方法。
无法通过ADF函数执行此操作,您应该在SQL Server中创建函数或存储过程,并从管道中定义的sqlReaderQuery调用它。 但是,由于您无法更改源数据库,似乎无法使用Data Factory实现这一点......