SQL server 2008 R2 dynamische Spaltenname Verwendung

Ich habe einen Tisch, sagen wir mal:

CREATE TABLE dbo.test (dummyid numeric(10,0) null, on_date datetime null, salary1 numeric(10,2) null, salary2 numeric(10,2) null, salary3 numeric(10,2) null, salary4 numeric(10,2) null, salary5 numeric(10,2) null, salary6 numeric(10,2) null, salary7 numeric(10,2) null, salary8 numeric(10,2) null, salary9 numeric(10,2) null) 

Ich habe ein Verfahren, dass nach schwerer Verarbeitung kommt es mit einem date und einer Zahl von 1 bis 9.

Wenn ich für dieses date ausgewählt werde, möchte ich das Gehalt zurückgeben1, wenn 2 geholt wird, möchte ich Salary2 zurückgeben usw.

Ich möchte vermeiden, 8 wenn sonst Klauseln:

 IF @number = 1 BEGIN SELECT @salary = salary1 FROM test WHERE on_date = @on_date blah blah 

Ich würde gerne wissen, ob es einen eleganten path, um die corect salaryX Feld abhängig von der Prozedur Nummer Ergebnis zu bekommen.

Thanx Jungs !!

Keine Notwendigkeit für dynamischen Code

 select case @numebr when 1 then salary1 when 2 then salary2 when 3 then salary3 when 4 then salary4 when 5 then salary5 when 6 then salary6 when 7 then salary7 when 8 then salary8 when 9 then salary9 end as salary from dbo.test where on_date = @date ;