当前位置: 代码迷 >> Sql Server >> 求sql 语句,把一个字段的数据串起来,该如何解决
  详细解决方案

求sql 语句,把一个字段的数据串起来,该如何解决

热度:133   发布时间:2016-04-27 19:42:34.0
求sql 语句,把一个字段的数据串起来
求sql   语句,把查询一个字段的数据串起来

------解决方案--------------------
结果集:
1
2
3
4
5

我想要的是用逗号隔开的一个字符串
1,2,3,4,5


declare @output varchar(8000)
select @output = coalesce(@output+ ', ', ' ') + col from table
print @output

------解决方案--------------------
declare @str varchar(8000)
select @str=isnull(@str, ' ')+字段名 from 表
print @str
------解决方案--------------------
--?这样?
select c1+c2+c3+...+cn from 表

数值型字段要转换:cast(cn as varchar)
------解决方案--------------------
--例子
declare @str varchar(8000)
set @str= ' '

select @[email protected]+rtrim(列名) from 表名
print @str
------解决方案--------------------
create table tb(id varchar(10))
insert into tb values( '1 ')
insert into tb values( '2 ')
insert into tb values( '3 ')
insert into tb values( '4 ')
insert into tb values( '5 ')
go
declare @output varchar(8000)
select @output = coalesce(@output+ ', ', ' ') + id from tb
print @output
drop table tb

/*
1,2,3,4,5
*/
------解决方案--------------------
declare @str varchar(8000)

set @str= ' '
select top 10 @[email protected]+ '|| '+[name]
from syscolumns

set @str=stuff(@str,1,2, ' ')
print @str

/* 结果
base_schema_ver||cache||category||crdate||deltrig||ftcatid||id||indexdel||info||instrig
*/
------解决方案--------------------
use xxx
go
declare @Var_TBL TABLE(test varchar(20))
declare @result varchar(2000)
begin
insert into @Var_TBL values( '1 ')
insert into @Var_TBL values( '2 ')
insert into @Var_TBL values( '3 ')
insert into @Var_TBL values( '4 ')
insert into @Var_TBL values( '5 ')
select @result=isnull(@result, ' ')+isnull(test, ' ')+ ', ' from @Var_TBL
select @result=substring(@result,1,len(@result)-1)
select @result result
end
------解决方案--------------------
declare @str varchar(8000)
set @str= ' '
select @[email protected]+ ', '+字段名 from 表
set @str=right(@str,len(@str)-1)
print @str
  相关解决方案