no es por el tipo de datos:
Código SQL:
Ver originalSET @query='
SELECT cuenta, anio, departamento, ' + @columna + '
FROM [tbl_forecast ]
WHERE (cuenta= ' + CONVERT(VARCHAR(20),@cuenta) + ') AND (anio = ' + CONVERT(VARCHAR(20),@anio) + ') AND (departamento IN
(SELECT departamento
FROM tbl_partidas
WHERE (folio = ' + CONVERT(VARCHAR(20),@folio) + ')
GROUP BY departamento))
'
EXEC sp_executesql @query
prueba con esto :)