Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Choisir dynamiquement une colonne dans une requête SQL

Essayez ceci :

DECLARE @var1 VARCHAR(20)
DECLARE @sql VARCHAR(255)

SET @var1 = 'Code'
SET @sql = 'select ' + QUOTENAME(@var1) + ' from [VoucherType] where [DeletedBy] is null and [AutoID] = 1'

EXEC sp_executesql @sql

Vous devrez composer une requête dynamique et exécuter en utilisant sp_executesql

Pour ajouter plus sur le côté "dynamique" des choses, utilisez des procédures stockées. Voir ici pour un exemple :

http://www.marten-online.com /database/execute-dynamic-sql-in-mssql.html

Autrement dit... si vous utilisez Microsoft SQL SERVER