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

如何解决ADF中动态使用当前日期变量时的日期转换错误?

解决Azure Data Factory中SQL日期转换错误问题

问题根源

你的SQL查询里,在CAST函数中错误地给currentdate变量套了方括号,导致生成的SQL语句中日期字符串变成了'[YYYY-MM-DD]'格式,SQL Server无法将带方括号的字符串转换为DATE类型,进而触发SqlErrorNumber=241的转换失败错误。

修正后的SQL查询表达式

@concat('
SELECT 
    *
FROM 
   [',variables('schema'),'].[',if(variables('custom_table_list_flag'),item(),item().name),'] 
WHERE 
    UPDATE_DATE >  DATEADD(DAY,-1,CAST(''',variables('currentdate'),''' AS DATE))
    AND UPDATE_DATE <= CAST(''',variables('currentdate'),''' AS DATE);')

关键修改说明

  • 移除了CAST内多余的''[''和'']''片段,直接将currentdate变量值作为纯日期字符串传入,生成的SQL会是CAST('2024-05-20' AS DATE)这类合法格式。
  • 确认currentdate变量的默认值是SQL Server可识别的日期格式(如yyyy-MM-dd),若变量格式不符,需同步调整变量默认值表达式(例如用utcnow('yyyy-MM-dd')生成标准格式)。

验证建议

可先在ADF调试模式下查看生成的完整SQL语句,确认日期部分格式正确后,再执行复制数据活动,避免因格式问题重复报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 09:32:45