首页 > 解决方案 > 将查询作为参数传递?

问题描述

我创建了一个带有单个 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

如您所见,我只是试图通过重构将查询结果转换为逗号分隔字符串的过程来简化代码。有没有办法做到这一点,或者我只是不得不在需要的地方编写丑陋的 SUBSTRING(... FOR XML PATH...) ?

标签: sql-server-2017

解决方案


推荐阅读