Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Dynamische Abfrage in SQL Server

Ja, mit einer CASE-Anweisung:

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

Ob das eine gute Idee ist, ist eine ganz andere Frage. Sie sollten bessere Namen als Col_1, Col_2 usw. verwenden.

Sie könnten auch eine String-Substitutionsmethode verwenden, wie von anderen vorgeschlagen. Dies ist jedoch ein letzter Ausweg, da es Ihren Code für SQL-Injection-Angriffe öffnen kann.