sql >> Database >  >> RDS >> Sqlserver

Dynamische query in SQL Server

Ja, met een CASE-statement:

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

Of dit een goed idee is, is een andere vraag. Je zou betere namen moeten gebruiken dan Col_1, Col_2, enz.

U kunt ook een tekenreeksvervangingsmethode gebruiken, zoals door anderen wordt gesuggereerd. Dat is echter een laatste redmiddel, omdat het uw code kan openen voor sql-injectieaanvallen.



  1. Oracle verwijdert gegevens van externe SQL Server-tabel

  2. Geen geschikte driver gevonden voor jdbc:mysql/localhost:3306/world

  3. MySQL selecteert records met een som groter dan de drempel

  4. PHP:PDO Query retourneert geen resultaten, maar dezelfde query retourneert 4 resultaten in phpmyadmin?