0
我正在尝试设置这样的VARCHAR变量:设置多个值变量从Select语句
DECLARE @var NVARCHAR(40)
set @var = (SELECT name from Tmptable AS name)
我想这个变量储值这样的:'name1,name2,name3,...'
这将返回像在一个错误标题:子查询返回的值超过1。
我在函数中使用这个变量放慢参数的
Select *
Into Tmp2
FROM [dbo].[MyFunction](@var, DEFAULT) AS PARAM
.....
我知道我们不能把超过一个variable.I值需要变量分裂的值来表示多个值“”
在这方面的任何方面
将分隔数据存储在数据库中通常是一个坏主意。这意味着你必须将其分解回可用值。您可以使用FOR XML来生成您的分隔列表,但您很快会再次询问如何拆分列表。有更好的选项,如表值参数或许多其他选项,而不是分隔列表。 –
可能重复[将多行连接成单个文本字符串?](http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string) – AHiggins
有没有办法将SQL Server结果集(多行)转换为字符串 – stoner