免责声明:我对Azure开发非常陌生
在Azure数据工厂的Dataflow in source选项中,当我对日期字符串进行了硬编码并在下面的查询中使用时,它提供了与cosmos DB预期的结果。
“select c.column1,c.column2 from c where c.time_stamp >= '2010-01-01T20:28:45Z' and c.time_stamp <= '2020-09-11T20:28:45Z'”
当我传递了在管道中映射的参数并使用带有参数的查询时,我没有得到任何结果。
"oldwatermark": "'2010-01-01T20:28:45Z'",
"newwatermark": "'2020-09-11T20:28:45Z'"
“select c.column1,c.column2 from c where c.time_stamp >= ‘$oldwatermark’ and c.time_stamp <= ‘$oldwatermark’”
由于我的参数值和硬编码值相同,因此请您提出我在做什么错地方。
答案 0 :(得分:0)
仅从您的工作陈述中,您的查询应该是:
select c.column1,c.column2 from c where c.time_stamp >= $oldwatermark and c.time_stamp <= $newwatermark
不是where c.time_stamp >= $oldwatermark and c.time_stamp <= $oldwatermark
。
请不要在查询中使用引号作为参数。
请尝试以下查询:
concat('select c.column1,c.column2 from c where c.time_stamp >= ',$oldwatermark,'and c.time_stamp <= ',$newwatermark)