首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

用for xml把几行转向一个字符串

2013-07-16 
用for xml把几行转为一个字符串以下语句可以把几行转为一个字符串(示例的表取系统表,每个数据库都有,方便

用for xml把几行转为一个字符串
以下语句可以把几行转为一个字符串(示例的表取系统表,每个数据库都有,方便大家测试):
select name from sysusers where sid is not null for xml raw
返回:
<row name="guest"/><row name="dbo"/>

但,想把这结果返回给一个变量,则没有成功:
select * from (
select name from sysusers where sid is not null for xml raw
) t
执行错误:
服务器: 消息 170,级别 15,状态 1,行 2
第 2 行: 'xml' 附近有语法错误。

请问大家一下,这是什么原因?有没有办法把那一串给我的一个变量(MS SQL 2000环境下),例如:
declare @temp as varchar(200)
select @temp=name from (
select name from sysusers where sid is not null for xml raw
) t
print @temp
[解决办法]
几行转换成一个字符串,可以参考这个方法:


declare @s varchar(8000) 
set @s=''
select @s=@s+name+','
from syscolumns
where id=object_id('InsCompany') 

print left(@s,len(@s)-1)

热点排行