首页 新闻 会员 周边 捐助

MSSQL如何将查询结果拼接成字符串

0
悬赏园豆:5 [已解决问题] 解决于 2018-04-04 09:08

查询结果如下图

 

想要在SQL中拼接为 '1','2','3','4','5',请问该如何拼接

fulfilfu的主页 fulfilfu | 初学一级 | 园豆:187
提问于:2018-04-03 11:52
< >
分享
最佳答案
0
declare @rowids nvarchar(100)
set @rowids=''
select @rowids=@rowids+''''+rowids+''''+','   from table
set @rowids=left(@rowids,len(@rowids)-1)
select  @rowids
fulfilfu | 初学一级 |园豆:187 | 2018-04-04 09:06
其他回答(6)
0

你是想用sql语句在数据库中进行拼接,还是将结果查询出来在程序中拼接。

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-03 11:59

用sql语句在数据库中进行拼接

支持(0) 反对(0) fulfilfu | 园豆:187 (初学一级) | 2018-04-03 12:26
支持(0) 反对(0) Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-03 12:46
0

https://www.cnblogs.com/zhming26/p/6382995.html两个函数,看你要用那个了

但乱红尘熊 | 园豆:773 (小虾三级) | 2018-04-03 12:05
0

select GROUP_CONCAT('\'',rowid,'\'') from tablename

魂心 | 园豆:99 (初学一级) | 2018-04-03 14:26

MSSQL没有GROUP_CONCAT这个内建函数吧

支持(0) 反对(0) fulfilfu | 园豆:187 (初学一级) | 2018-04-03 15:29
0

http://www.cnblogs.com/tonightdream/p/8709123.html

针对你的问题写的,看解决问题了没

收获园豆:5
第一次呼吸 | 园豆:209 (菜鸟二级) | 2018-04-03 16:12

多谢老哥还专门写了篇文章,昨天我找到了一种更方便的写法,如下

declare @rowids nvarchar(100)
set @rowids=''
select @rowids=@rowids+''''+uid+''''+','   from table
set @rowids=left(@rowids,len(@rowids)-1)
select  @rowids
支持(1) 反对(0) fulfilfu | 园豆:187 (初学一级) | 2018-04-04 09:04

@Mr.sw: 这个方法简单

支持(0) 反对(0) 第一次呼吸 | 园豆:209 (菜鸟二级) | 2018-04-04 10:03
0
DECLARE @str varchar(8000) 
SET @str = ''
select @str=@str+ cast(name as varchar(10))+',' from  (select 1 as name union select 2 union select 3 union select 4) tableA
print @str
happydaily | 园豆:260 (菜鸟二级) | 2018-04-04 08:00
0

select rowid+',' from tableName for xml path('')

飞舞的叶子 | 园豆:267 (菜鸟二级) | 2018-04-04 10:00

rowid是int类型需要转换一下

select ''''+convert(nvarchar,rowid)+''',' from tableName for xml path('')

支持(0) 反对(0) 飞舞的叶子 | 园豆:267 (菜鸟二级) | 2018-04-04 10:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册