if object_id('testdb') is not null drop table testdb
go
--创建测试数据
create table testdb(ID int,name varchar(10),num int,test1 varchar(10),test2 varchar(10))
insert testdb
select 1, 1, 22, null, null union all
select 2, 2, null, null, null
create table #(result varchar(20))
--执行查询
declare @str varchar(8000)
set @str = ''
select @str = @str + 'if not exists(select * from testdb where ' + name + ' is null) insert # values( ''' + name + ''')'+char(10)
from syscolumns where id = object_id('testdb')
exec(@str)
declare @str2 varchar(8000)
set @str2 = ''
select @str2=@str2 + result +',' from #
set @str2=Left(@str2,Len(@str2)-1)
set @str2='select '+@str2+' from testdb'
exec(@str2)