读书人

select * 除某列以外

发布时间: 2013-01-28 11:49:56 作者: rapoo

select * 除某列之外
table1有a1,a2,a3……a50共50个列

如何查询除a25之外的所有列??
[解决办法]


declare @sql varchar(4000)
select @sql=isnull(@sql,'')+','+name from sys.columns
where object_id in (select object_id from sys.tables where name ='table1') and name !='a25'
set @sql=STUFF(@sql,1,1,'')
exec ('select ' + @sql+' from table1')


这样试试
[解决办法]
如果需要一直读取这样的一个表格,那么建立一个view好了。

至于需要排除的列,你可以表格右键,选取1000行,让数据库自动生成脚本,你把不需要的列剔出就行。我都是这么干的,:)
[解决办法]
使用句。
Declare @sql nvarchar(max)

Select @sql=isnull(@sql+',','')+quotename(name) From sys.syscolumns
Where id=object_id('table1')
And name Not in('a25')

Exec ('Select '+@sql+' From table1')

读书人网 >SQL Server

热点推荐