Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie dynamiczne w SQL Server

Tak, używając instrukcji CASE:

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

To, czy to dobry pomysł, to zupełnie inna kwestia. Powinieneś używać lepszych nazw niż Col_1, Col_2 itd.

Możesz również użyć metody podstawienia ciągów, zgodnie z sugestią innych. Jest to jednak opcja ostateczności, ponieważ może otworzyć Twój kod na ataki wstrzykiwania sql.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zachowaj relacje rodzic-dziecko podczas kopiowania danych hierarchicznych

  2. Przepływ warunkowy programu SQL Server

  3. dynamiczna oś sql na serwerze sql

  4. Zapytanie do serwera połączonego Postgresql bardzo wolne

  5. Uzyskaj bieżący identyfikator logowania w SQL Server (T-SQL)