Sql server 2017 是否将查询作为参数传递?

Sql server 2017 是否将查询作为参数传递?,sql-server-2017,Sql Server 2017,我创建了一个具有单个varchar(max)列的用户定义表类型,希望通过传入实际查询来调用我的函数。当然没用了 我的函数如下所示: create function tfnTableToString(@strings TVP_Strings READONLY) returns varchar(max) as begin return SUBSTRING((SELECT ',' + string FROM @strings FOR XML PATH('')), 2 , 9999) end g

我创建了一个具有单个varchar(max)列的用户定义表类型,希望通过传入实际查询来调用我的函数。当然没用了

我的函数如下所示:

create function tfnTableToString(@strings TVP_Strings READONLY)
returns varchar(max)
as
begin
    return SUBSTRING((SELECT ',' + string FROM @strings FOR XML PATH('')), 2 , 9999)
end
go

正如您所看到的,我只是试图通过重构将查询结果转换为逗号分隔字符串的过程来简化代码。有什么方法可以做到这一点,还是我不得不在需要的地方编写难看的子字符串(…用于XML路径…)?

调用函数的结果是什么?一个错误。我应该多发布一些信息。当我可以回到我的电脑时,我会更新。