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

Azure Data Factory数据流中整数日期与currentDate()相减问题咨询

问题原因

你之前的写法返回空列的核心原因是toDate()函数默认无法自动识别yyyyMMdd格式的整数/字符串类型日期输入,必须显式指定匹配的日期格式才能完成正确转换。同时Azure Data Factory数据流中计算两个日期的天数差,推荐使用内置的datediff()函数,避免直接做减法可能出现的类型兼容问题。

正确实现步骤

场景1:MinWADAT为整数类型(你的场景匹配该情况)

直接使用如下派生列表达式即可:

datediff(toDate(toString(MinWADAT), 'yyyyMMdd'), currentDate())

场景2:MinWADAT为字符串类型

可以省略转字符串的步骤:

datediff(toDate(MinWADAT, 'yyyyMMdd'), currentDate())

补充说明

  • 上述表达式返回的是MinWADAT到当前日期的正天数差值,如果你需要MinWADAT减去currentDate的负数结果,调换datediff函数内两个日期的参数顺序即可。
  • 如果MinWADAT存在非法的日期数值(比如20231301、20230230等),可以增加合法性判断避免返回空值,示例如下:
iif(
  isDate(toString(MinWADAT), 'yyyyMMdd'),
  datediff(toDate(toString(MinWADAT), 'yyyyMMdd'), currentDate()),
  -1 // 非法日期返回的默认值,可自行调整
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:06:00