数据库输出数据问题,把数据集转换成字符串

xiefie1989 2011-03-03 03:10:43

select tId from a
--上面查询出来的是一个数据集,我现在要把他用字符串的形式输出(print) 该怎么写?



...全文
63 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiefie1989 2011-03-03
  with a as(
select tId, tName, tpId from S_OEMType where tId='1'
union all
select x.tId,x.tName,x.tpId from S_OEMType as x,a
where x.tpId=a.tId
)
declare @s varchar(max)
select @s=isnull(@s+',','')+tId FROM A
PRINT @S

报错....难道因为是虚表递归?
回复
pd00 2011-03-03

select [tId]=stuff((select '、'+ [tId] from a for xml path('')), 1, 1, '')
回复
--小F-- 2011-03-03
----------------------------------------------------
/*如何将一列中所有的值一行显示
数据源
a
b
c
d
e
结果
a,b,c,d,e
*/

create table tb(col varchar(20))
insert tb values ('a')
insert tb values ('b')
insert tb values ('c')
insert tb values ('d')
insert tb values ('e')
go

--方法一
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + t.col + ',' from (select col from tb) as t
set @sql='select result = ''' + left(@sql , len(@sql) - 1) + ''''
exec(@sql)
/*
result
----------
a,b,c,d,e,
*/

--方法二
declare @output varchar(8000)
select @output = coalesce(@output + ',' , '') + col from tb
print @output
/*
a,b,c,d,e
*/

---方法三
declare @s varchar(1000)
select @s=isnull(@s+',' , '')+col from tb
select @s
/*
a,b,c,d,e
*/

drop table tb


-------------
回复
rucypli 2011-03-03
declare @s varchar(max)

回复
Xiao_Ai_Mei 2011-03-03
declare @s varchar(8000)

select @s=isnull(@s+',','')+tId FROM A

PRINT @S
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-03-03 03:10
社区公告
暂无公告