我正在尝试在 ADF 管道中动态替换 SQL 查询中的表。我尝试了这些查询来获取它:
select *
from c
where timestampToDateTime("@{concat(variables('lastUpdatedColumn'),'*1000')}") <
"@{formatDateTime(utcnow(),'yyyy-MM-ddTHH:mm:ss.fffffffZ')}"
select *
from c
where TimestampToDateTime(variables('lastUpdatedColumn')*1000) <
"@{formatDateTime(utcnow(),'yyyy-MM-ddTHH:mm:ss.fffffffZ')}"
但是两个查询返回相同的输出 - 如下所示:
"select * from c where TimestampToDateTime(\"c._ts*1000\") < \"2024-07-
24T13:03:24.6140044Z\"",
它正在被替换为“c._ts*1000”。但我想删除那些斜杠(,/)。我们怎样才能删除这些呢?预先感谢
select * from c where timestampToDateTime("@{concat(variables('lastUpdatedColumn'),'*1000')}"") < "@{formatDateTime(utcNow(),'yyyy-MM-ddTHH:mm:ss.fffffffZ')}""
您在上面的查询中提供了双引号(")中的where条件,因此它被视为字符串,这就是获得
back slashes (\)
的原因,如下所述:
要删除反斜杠,请删除双引号,如下所示:
select * from c where timestampToDateTime(@{concat(variables('lastUpdatedColumn'),'*1000')}) < @{formatDateTime(utcNow(),'yyyy-MM-ddTHH:mm:ss.fffffffZ')}
您将得到如下所示的输出: