Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Requête dynamique dans SQL Server

Oui, en utilisant une instruction CASE :

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

Que ce soit une bonne idée est une toute autre question. Vous devriez utiliser de meilleurs noms que Col_1, Col_2, etc.

Vous pouvez également utiliser une méthode de substitution de chaîne, comme suggéré par d'autres. Cependant, il s'agit d'une option de dernier recours, car elle peut exposer votre code à des attaques par injection sql.