sql >> Database >  >> RDS >> Sqlserver

Naam van SQL Server-variabele kolommen?

Je kunt het niet doen omdat SQL is gecompileerd voordat het weet wat de waarde van @a is (ik neem aan dat je in werkelijkheid zou willen dat @a een parameter is en niet hard gecodeerd zoals in jouw voorbeeld).

In plaats daarvan kun je dit doen:

declare @a as varchar; 
set @a='TEST' 

declare @sql nvarchar(max)
set @sql = 'select [' + replace(@a, '''', '''''') + '] from x'

exec sp_executesql @sql

Maar wees voorzichtig, dit is een beveiligingsprobleem (sql-injection-aanvallen) en zou dus niet moeten worden gedaan als u @a niet kunt vertrouwen of niet goed kunt opschonen.



  1. PDO-stuurprogramma's voor PostgreSQL op Mac installeren (met Zend voor eclipse)

  2. hoe alle beperkingen op een tafel in Oracle te controleren

  3. Logische PostgreSQL-replicatie gebruiken om een ​​altijd up-to-date lees/schrijf TEST-server te onderhouden

  4. Hoe geneste matrices in een postgres json-kolom opvragen?