SQL Server- 结果集dataset同一列多行转换为单行但带分隔符的字符串拼接

SQL Server- 结果集dataset同一列多行转换为单行字符串拼接

1   Cursor 游标方式转换,但是游标效率有些差,很多网站都不推荐,数据量小可以用用

declare  @mytable table
(
Col1 varchar(10)
)
insert into @mytable values
('AA'),
('BB'),
('CC')
declare @Colstring varchar(1000) =''
declare @Col1 varchar(10) =''
declare mytype cursor local for select Col1 from @mytable
open mytype
fetch next from mytype into @Col1
while @@FETCH_STATUS=0
	begin
		set @Colstring  +=  ','+ @Col1
		fetch next from mytype into @Col1
	end

close mytype
deallocate mytype 
select  SUBSTRING(@Colstring,2,LEN(@Colstring)-1) as Colstring

 

2 最简单的select 语句,可以用这个,结果和1 一样

declare @mytable table 
(
Col1 varchar(10)
)
insert into @mytable values 
('AA'),
('BB'),
('CC')
 
declare @Colstring varchar(50)
select @Colstring = isnull(@Colstring + ',' , '' ) + isnull( Col1 , '' ) from @mytable 
select @Colstring as Colstring

 

另一边文章正好相反,字符串转换成dataset 模式,请参考:

SQL Server- function-函数/存储过程中 将带分割符的字符串转换返回成DataTable表格形式

 

 

作者: 轻烟随风
当前文章地址: https://www.zyxpp.com/sql-server-dataset-to-string/
来源: 轻烟随风的博客
文章版权归作者所有,欢迎转载
THE END
分享
二维码
< <上一篇
下一篇>>