请在sql server的存储过程中,能否动态地指定需要哪个字段?详情请入内

例如:

select itemno,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12 from testtable
其中第二个以后各个字段的类型都是相同的。表示某个货品在某个月的销售量。
在此语句的后面,我需要动态地取出某个字段的值。如:如果用户需要7月份的销售量,那么我就返回字段a7的值,如果需要11月份的,那么我就要返回字段a11的值。关键是取第几个字段的值是由运行时决定的,我不想搞那么多判断。

相当于以下的动态sql语句:

i:用户输入的月份
产生的sql语句:
'select a'+str(i,'2')+' from testtable'

并且还要能够实现更新。

请问以上功能是否实现?

[434 byte] By [wxbfly-背着黄金的飞鸟] at [2008-6-10]
# 1
declare @a int,@sql nvarchar(4000)
set @a=7
set @sql='select a'+cast(@a as varchar(2))+' from table'
exec(@sql)
j9988-j9988 at 2007-10-24 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 2
谢谢,我试试先。
# 3
成功,给分。

再次表示感谢