declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+',' from syscolumns where id=object_id('你的表名') and name like 'a_%'
and substring(name,3,2) between 8 and 12
set @=left(@,len(@)-1)
exec('select '+@+' from 你的表名')
create procedure p1 (@bmon int, @emon int)
as
declare @i int
declare @sql varchar(300)
select @s = count(*) from syscolumns as A left join sysobjects as B
on A.id = B.id
where B.name = 'yourtablename'
set @sql = 'select '''''
set @i = 1
while exists (select * from syscolumns as A left join sysobjects as B
on A.id = B.id where B.name = 'yourtablename' and A.colorder >= @i)
begin
select top 1 @sql = @sql + ',' + A.name, @i = A.colorder from syscolumns as A left join sysobjects as B
on A.id = B.id where B.name = 'yourtablename' and A.colorder >= @i
and cast(substring(A.name,3,(len(A.name)-2)) as int) >= @bmon
and cast(substring(A.name,3,(len(A.name)-2)) as int) <= @emon
and left(A.name,20 = 'a_'
set @i = @i +1
end
set @sql = @sql + ' from yourtablename'
exec (@sql)