declare @a varchar(1000)
set @a=''select @a=@a+' '+a.name from syscolumns a join sysobjects b on a.id=b.id
where b.name='authors'
order by a.colorderselect ltrim(@a)

解决方案 »

  1.   

    CREATE FUNCTION fun_str2()
    RETURNS VARCHAR(200) AS
    BEGIN
      DECLARE @str VARCHAR(200)
      SElect @str =' '
      SELECT @str =@str+a.name+' ' FROM syscolumns a join sysobjects b on a.id=b.id where b.name='authors'
      RETURN @str
    END
    select  dbo.fun_str2() 
      

  2.   

    CREATE FUNCTION fun_str()
    RETURNS VARCHAR(200) AS
    BEGIN
      DECLARE @str VARCHAR(200)
      SElect @str =' '
      SELECT @str =@str+a.name+' ' 
    FROM syscolumns a join sysobjects b on a.id=b.id 
    where b.name='authors'
      RETURN @str
    END
    select  dbo.fun_str() 
      

  3.   

    这些都要在sql server 2000才能实现的。他的应该是sql server7.0
      

  4.   

    我想轉換成多個字段,
    field1   field2   field2  field4   ...
    dep_bmdm dep_bmmx dep_ggl dep_tddm dep_wip 而不是下面的一個字段,如何實現
    No column name
    dep_bmdm dep_bmmx dep_ggl dep_tddm dep_wip 
    ...
      

  5.   

    declare @a varchar(1000),@str varchar(1000)
    set @a=''
    select @a=@a+a.name+', ' from syscolumns a join sysobjects b on a.id=b.id
    where b.name='authors'
    set @str='select '+  substring(@a,1,len(@a)-1)+' from authors' --此处的authors表可以换成你想要的表名。
    exec(@str)
    不知道这样是不是你想要的。
      

  6.   

    declare @a varchar(1000),@str varchar(1000)
    set @a=''
    select @a=@a+a.name+', ' from syscolumns a join sysobjects b on a.id=b.id
    where b.name='authors'
    set @str='select '+  substring(@a,1,len(@a)-1)+' from authors' --此处的authors表可以换成你想要的表名。
    exec(@str)
    不知道这样是不是你想要的。就是‘select * from authors’嗎,不是我想要的,
    我是想把字段作為第一條記錄放在結果集中