sql >> Base de Datos >  >> RDS >> Sqlserver

Consulta dinámica en SQL Server

Sí, usando una instrucción CASE:

SELECT CASE @MyVariable
       WHEN 1 THEN [Col_1]
       WHEN 2 THEN [Col_2]
       ...
       WHEN 10 THEN [Col_10]
       END

Si esto es una buena idea es otra cuestión completamente diferente. Debería usar mejores nombres que Col_1, Col_2, etc.

También podría usar un método de sustitución de cadenas, como lo sugieren otros. Sin embargo, esa es una opción de último recurso porque puede abrir su código a ataques de inyección de sql.