本人想提取一个表中所有字段名,但取出字段名后总是下面这种格式1 TA_ID
2 TA_Year
3 TA_Audited
4 TA_GrossOutput
5 TA_GrossOutputMark
6 TA_AddVal
........想提取之后成为如下格式:
TA_ID,TA_Year,TA_Audited,TA_GrossOutput,TA_GrossOutputMark,TA_AddVal....请问SQL语句如何写?谢谢!

解决方案 »

  1.   

    declare @s varchar(100)
    set @s=''
    select @s=@s+name+',' from syscolumns where id=object_id('表名')
    select @s
      

  2.   

    declare @strl varchar(8000)
    set @strl=''select @strl=@strl+','+name from syscolumns
    where id = object_id('tbname') order by colidset @strl=stuff(@strl,1,1,'')
      

  3.   

    创建合并函数
    create function f_str(@table varchar(10))
    returns varchar(100)
    as
    begin
      declare @str varchar(100)
      set @str=''
      select @str=@str+','+[name] from syscolumns where id=object_id(''+@table+'')
      return stuff(@str,1,1,'')
    end调用:select dbo.f_str('表名')
      

  4.   

    declare @a varchar(8000)
    set @a=''
    select @a =@a+','+name from syscolumns where id=(select id from sysobjects where name='表名')
    select stuff(@a,1,1,'')