You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将SQL的DATEDIFF语句转换为Azure映射数据流表达式遇错求助

解决Azure Data Flow中日期差计算的错误问题

你用错函数了,subDays的作用是对指定日期减去N天(比如subDays(currentTimestamp(), 7)是获取7天前的日期),不是用来计算两个日期之间的天数差的。

要实现SQL里datediff(day, AppliedDate, getdate())的逻辑,Azure Data Flow里应该用daysBetween函数,它专门用来计算两个日期之间的天数差,参数顺序是起始日期在前,结束日期在后,和SQL的datediff参数顺序一致。

正确的表达式应该是:

iif(Trans_StatusId != 1, 0, daysBetween(toDate(AppliedDate), currentTimestamp()))

验证逻辑:

  • 当Trans_StatusId不等于1时,返回0,和原SQL逻辑一致
  • 当Trans_StatusId等于1时,用daysBetween计算AppliedDate到当前时间的天数差,结果和datediff(day, AppliedDate, getdate())等价

内容的提问来源于stack exchange,提问作者datainstints

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 16:52:00