--SQL 2008 drop table T --建表 create table T ( s1 char(10), s2 char(10), s3 char(10), s4 char(10), s5 char(10), kkk char(10) ) --测试数据 insert into T select 1,2,3,4,5,6 --以下脚本查询s开头的列 declare @c varchar(500)='' declare @sql varchar(2000)='' select @c= isnull(','+c.name ,'')+@c from sys.columns c join sys.objects o on c.object_id=o.object_id and o.name='T' where c.name like 's%' select @sql =stuff(@c,1,1,'') from T exec ('select '+@sql+' from T')