【发布时间】:2021-07-24 13:08:13
【问题描述】:
我有下面的 SQL 服务器查询,它构建了一个这样的字符串:'Group1'、'Group2'、'Group3'
SELECT '''' + '
STRING_AGG(CAST(groupname as NVARCHAR(MAX)), ''',''') + ''''
FROM groups
WHERE category = 'food'
我在ADF pipeline 中有一个lookup expression,我想在其中使用@concat function 构建查询动态。此查询由 SQL Server 数据库中的查找表达式执行。 SQL 语句中的 WHERE 子句需要使用管道参数进行参数化。我尝试了下面的代码,但这不起作用并给我一个错误:missing comma between the arguments
我该如何解决这个问题?
@concat('
SELECT ''' +
STRING_AGG(CAST(groupname as NVARCHAR(MAX)), ''',''') + '''
FROM groups
WHERE category = ''',pipeline().parameters.Category,''''
)
【问题讨论】:
-
对于任何平台上的任何动态SQL问题,首先要做的就是找出它生成了什么SQL。我建议您查看 ADF 日志并找出并从那里开始
-
嗨@user7432713 如果您需要更多信息,请告诉我。 :)
-
嗨@user7432713。如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢你。 :)
标签: sql-server concatenation azure-pipelines azure-data-factory single-quotes