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

Query dinamica in SQL Server

Sì, utilizzando un'istruzione CASE:

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

Se questa sia una buona idea è tutta un'altra questione. Dovresti usare nomi migliori di Col_1, Col_2, ecc.

Potresti anche usare un metodo di sostituzione delle stringhe, come suggerito da altri. Tuttavia, questa è un'opzione di ultima istanza perché può aprire il tuo codice ad attacchi sql injection.