sql >> Databáze >  >> RDS >> Sqlserver

Název sloupců proměnné SQL Server?

Nemůžete to udělat, protože SQL je zkompilováno dříve, než ví, jaká je hodnota @a (předpokládám, že ve skutečnosti byste chtěli, aby @a byl nějaký parametr a ne pevně zakódovaný jako ve vašem příkladu).

Místo toho můžete udělat toto:

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

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

exec sp_executesql @sql

Ale buďte opatrní, jedná se o bezpečnostní zranitelnost (útoky sql-injection), takže byste to neměli dělat, pokud nemůžete @a důvěřovat nebo je dobře vyčistit.



  1. Výhody a nevýhody používání SqlCommand Prepare v C#?

  2. Jak mohu exportovat schéma databáze v PostgreSQL?

  3. SQL SELECT pro začátečníky

  4. Rozdělte IPv4 adresu na 4 čísla v Oracle sql