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

ADF管道动态SQL查询中如何移除引号转义斜杠?

解决Azure Data Factory动态SQL中的转义斜杠问题

问题原因

你遇到的转义斜杠(\)是因为在动态SQL中错误地用双引号包裹了ADF变量拼接的表达式,导致ADF将整个拼接内容识别为字符串常量,自动添加转义符处理双引号。另外第二种写法直接在SQL中引用ADF变量(未用@{...}包裹),本身属于语法错误。

正确写法

直接将变量拼接的表达式通过@{...}嵌入SQL的函数参数中,不要额外添加双引号,示例如下:

select * 
from c 
where timestampToDateTime(@{concat(variables('lastUpdatedColumn'),'*1000')}) < 
"@{formatDateTime(utcnow(),'yyyy-MM-ddTHH:mm:ss.fffffffZ')}"

效果说明

这样生成的SQL会直接将变量值(比如c._ts)与*1000拼接为c._ts*1000,作为timestampToDateTime的计算参数,最终生成的SQL无转义斜杠:

select * from c where TimestampToDateTime(c._ts*1000) < "2024-07-24T13:03:24.6140044Z"

关键注意点

  • 若要将ADF变量/表达式作为SQL的计算逻辑(而非字符串常量),不要用双引号包裹@{...}部分。
  • 所有ADF变量、函数都必须通过@{}语法嵌入SQL,不能直接在SQL中写variables('xxx')这类ADF表达式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 17:57:05