declare @sql varchar(100)
select @sql=''
select @sql=@sql+','+name from 
syscolumns a where id=object_id('xxx') and name not in(col1,col2,...这里为你不要的字段列表) tem
select @sql=right(@sql,len(@sql)-1)
select @sql='select '+@sql+' from xxx'
select @sql
exec (@sql)

解决方案 »

  1.   

    declare @sql varchar(1000)
    select @sql=''
    select @sql=@sql+','+name from syscolumns a where id=object_id('tablename') and name not in(col1,col2,...) 
    select @sql=right(@sql,len(@sql)-1)
    select @sql='select '+@sql+' from tablename'
    select @sql
    exec (@sql)
      

  2.   

    楼上方法很好,但我记得好象select 带个参数 field1 from table1
    即可不显示field1这个字段.具体这个参数我不记得了.有人知道吗?肯定是有这个参数的.