--创建被查询的表
create table tb(a varchar(10),b varchar(10))
insert into tb values('aa','bb')
--查询
declare @aa varchar(10),@sql nvarchar(1000),@re bit
set @aa='bb' --要查询的字段的值
declare @fdname sysname
declare #tb cursor for select name from syscolumns where object_id('tb')=id
open #tb
fetch next from #tb into @fdname
while @@fetch_status=0
begin
set @sql='set @re=case when exists(select 1 from tb where '+@fdname+'='''+@aa+''') then 1 else 0 end'
exec sp_executesql @sql,N'@re bit output',@re output
if @re=1 goto lbexit
fetch next from #tb into @fdname
end
lbexit:
close #tb
deallocate #tb
declare @aa varchar(10),@sql nvarchar(1000),@re bit
set @aa='aa' --要查询的字段的值
declare @fdname sysname
declare #tb cursor for select name from syscolumns where object_id('表名')=id
open #tb
fetch next from #tb into @fdname
while @@fetch_status=0
begin
set @sql='set @re=case when exists(select 1 from 表名 where '+@fdname+'='''+@aa+''') then 1 else 0 end'
exec sp_executesql @sql,N'@re bit output',@re output
if @re=1 goto lbexit
fetch next from #tb into @fdname
end
lbexit:
close #tb
deallocate #tb