sql >> Database teknologi >  >> RDS >> Sqlserver

Dynamisk forespørgsel i SQL Server

Ja, ved at bruge en CASE-sætning:

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

Om det er en god idé er et helt andet spørgsmål. Du bør bruge bedre navne end Col_1, Col_2 osv.

Du kan også bruge en strengerstatningsmetode, som foreslået af andre. Det er dog en sidste udvej, fordi det kan åbne din kode for sql-injektionsangreb.



  1. PHP:PGSQL-driver og AutoCommit?

  2. forespørgsel ikke ens virker ikke

  3. Underlig opførsel af SUM og CONCAT i MySql

  4. Ændring af output fra Getdate