Du har alltså en kolumn för varje vecka? Gör om datamodellen och använd en kolumn som innehåller veckonummer så skulle du inte få denna typ av problem.
Du får använda sp_execute_sql
declare @sql_str varchar(4000)
SET @sql_str = 'select @quantity = w' + @strweek + ' from forecast'
EXEC sp_executesql @sql_str, '@quantity INT out', @quantity out