Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Escolher coluna dinamicamente na consulta SQL


Tente isto:
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

Você terá que compor uma consulta dinâmica e executar usando sp_executesql

Para adicionar mais no lado 'dinâmico' das coisas, use procedimentos armazenados. Veja aqui um exemplo:

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

Ou seja... se você estiver usando o Microsoft SQL SERVER