Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consulta dinâmica no SQL Server


Sim, usando uma instrução CASE:
SELECT CASE @MyVariable
       WHEN 1 THEN [Col_1]
       WHEN 2 THEN [Col_2]
       ...
       WHEN 10 THEN [Col_10]
       END

Se esta é uma boa ideia é outra questão inteiramente. Você deve usar nomes melhores do que Col_1, Col_2, etc.

Você também pode usar um método de substituição de string, conforme sugerido por outros. No entanto, essa é uma opção de último recurso, pois pode abrir seu código para ataques de injeção de sql.