日期:2014-05-18  浏览次数:20569 次

请问 select 语句 有没有 指定不显示 哪些字段 ,其它字段都显示??

例如表中有 20个字段 , 不要显示其中的一个字段 .

如果用 

select 字段1......字段19 这样很麻烦

 select 语句 有没有 指定不显示 哪些字段 ,其它字段都显示??

------解决方案--------------------
得到表中除userno_fm、userno_to的所有列
例如:userno_fm、userno_to
create table test(
num int identity(1,1),
userno_fm varchar(10),
userno_to varchar(10),
username varchar(10))
select * from test

declare @sql varchar(8000)
select @sql=''
select @sql=@sql+','+[name] from 
(select [name] from syscolumns where object_id(N'[test]')=[id] and [name] not in ('userno_fm','userno_to')) A

set @sql='select '+stuff(@sql,1,1,'')+' from [test]'
--print @sql
exec (@sql)

drop table test