declare @name varchar(8000) select @name=isnull(@name+',','')+name from syscolumns where id=object_id('sysobjects') select @name /* base_schema_ver,cache,category,crdate,deltrig,ftcatid,id,indexdel,info,instrig,name,parent_obj,refdate,replinfo,schema_ver,seltrig,stats_schema_ver,status,sysstat,type,uid,updtrig,userstat,version,xtype */
不用函数吧。select 语句中直接实现 select 字段一 + ',' + 字段二 from 表名
declare @col as nvarchar(1024) set @col='' select @col = @col+','+[a].[Column] from(select name as [Column] from student)as a select right(@col,len(@col)-1) as nameList
declare @col as nvarchar(1024) set @col='' select @col = @col+','+ name from student --递归 select right(@col,len(@col)-1) as nameList递归Select变量在做动态交叉表中经常用到的
declare @a varchar(8000) select @a=isnull(@a+',','')+[name] from student select @a
select name1+name2 as name from student
select a1+','+a2 as name from tb
declare @stuTb table (uid int , stuName varchar(50))Insert Into @stuTb select 1,'张三' union select 2,'李四'declare @a varchar(8000) select @a=isnull(@a+',','')+stuName from @stuTb select @a张三,李四 (所影响的行数为 1 行)
select @name=isnull(@name+',','')+name from syscolumns where id=object_id('sysobjects')
select @name
/*
base_schema_ver,cache,category,crdate,deltrig,ftcatid,id,indexdel,info,instrig,name,parent_obj,refdate,replinfo,schema_ver,seltrig,stats_schema_ver,status,sysstat,type,uid,updtrig,userstat,version,xtype
*/
select 字段一 + ',' + 字段二
from 表名
set @col=''
select @col = @col+','+[a].[Column]
from(select name as [Column] from student)as a
select right(@col,len(@col)-1) as nameList
set @col=''
select @col = @col+','+ name from student --递归
select right(@col,len(@col)-1) as nameList递归Select变量在做动态交叉表中经常用到的
select @a=isnull(@a+',','')+[name] from student
select @a
declare @stuTb table (uid int , stuName varchar(50))Insert Into @stuTb
select 1,'张三'
union
select 2,'李四'declare @a varchar(8000)
select @a=isnull(@a+',','')+stuName from @stuTb
select @a张三,李四
(所影响的行数为 1 行)