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

检索时排除某个列,其余都显示.有没有办法?
如:
select   *   from   mytable
在mytable中有非常多字段,我想让其中一个字段不显示,其余都显示,除了一个个指定,有没有别的办法?

select   col1,col3,...   from   mytable   --   这样写太长了

有没有类似这样的写法
select   不显示(col2)   from   mytable

等待答案

------解决方案--------------------
。。。如果一句话来写的话,还真不知道怎么弄。。。
------解决方案--------------------
不知道有沒有...
不過可以這樣寫
declare @str varchar(1000)
set @str= ' '
select @str=@str+ ',[ '+[name]+ '] ' from syscolumns
where [name] not in( 'col2 ') --不要顯示的列
and object_id( 'mytable ')=id
order by colid
set @str= 'select '+stuff(@str,1,1, ' ')+ ' from mytable '
exec(@str)
------解决方案--------------------
SQL Server 2000中,除了从系统表,先生成select 字段列表,还没有好的办法。
------解决方案--------------------
这是一个鱼和熊掌的选择题...........