sqlserver 过滤掉某些字段查询剩余字段的方法



select * from syscolumns a, sysobjects b where a.object_id=b.object_id and b.name='dingdan' and a.name not in('编号','datafilename')


报错,是因为我是sqlserver2005,没有obejct_id,而是id,所以改一下是:


select * from syscolumns a, sysobjects b where a.id=b.id and b.name='dingdan' and a.name not in('编号','datafilename')


这样就对了~~~


最后是这样:


declare 
@c_sql varchar(8000)
set @c_sql=''
select @c_sql=@c_sql+ a.name+',' from syscolumns a, sysobjects b where a.id=b.id and b.name='dingdan' and a.name not in('编号','datafilename')
set @c_sql=left(@c_sql,len(@c_sql)-1)
select @c_sql
set @c_sql='select '+@c_sql+' from dingdan'
EXEC(@c_sql)


你可能感兴趣的:(sqlserver 过滤掉某些字段查询剩余字段的方法)