Sql server 将查询结果中的表转换为文本

Sql server 将查询结果中的表转换为文本,sql-server,tsql,Sql Server,Tsql,查询的结果是表,是否可以编写一个将此结果转换为文本的查询(例如,假设结果是一个具有4行的表,值为1到4,并将其转换为1,2,3,4)是的,您可以使用for XML PATH(“”)来完成此操作。例如: create table test(col varchar(10)) insert into test values ('1'),('2'),('3'),('4') select STUFF( (select ',' + col from test

查询的结果是表,是否可以编写一个将此结果转换为文本的查询(例如,假设结果是一个具有4行的表,值为1到4,并将其转换为1,2,3,4)

是的,您可以使用
for XML PATH(“”)
来完成此操作。例如:

create table test(col varchar(10))

insert into test values ('1'),('2'),('3'),('4')

select STUFF( (select ',' + col 
                from test 
                FOR XML PATH('')), 1, 1, '')

是的,您可以使用XML路径(“”)来实现这一点。例如:

create table test(col varchar(10))

insert into test values ('1'),('2'),('3'),('4')

select STUFF( (select ',' + col 
                from test 
                FOR XML PATH('')), 1, 1, '')
尝试下面的查询

declare @Var varchar(1000);
set @var = ''
select @Var = @var + CONVERT(varchar, Column1) + ','
from Table1

select @var
尝试下面的查询

declare @Var varchar(1000);
set @var = ''
select @Var = @var + CONVERT(varchar, Column1) + ','
from Table1

select @var
试试这个

DECLARE @result varchar(1000)

SET @result = ''

SELECT @result = @result + StudentId + ',' FROM Student WHERE condition = xyz

select substring(@result, 1, len(@result) -1  --trim extra "," at end
类Op

1,2,3,4

快乐编码

试试这个

DECLARE @result varchar(1000)

SET @result = ''

SELECT @result = @result + StudentId + ',' FROM Student WHERE condition = xyz

select substring(@result, 1, len(@result) -1  --trim extra "," at end
类Op

1,2,3,4


快乐编码

相反,为什么不创建原始表结构、关系、需求和少量示例数据呢。您在这里也会问同样的问题,为什么不使用原始表结构、关系、需求和少量示例数据呢。您在这里问同样的问题,有效,但限于@Var的数据类型长度。
对于XML
的大小限制为2 GB。有效,但限于@Var的数据类型长度。
对于XML
的大小限制为2 GB。