Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Nama kolom variabel SQL Server?

Anda tidak dapat melakukannya karena SQL dikompilasi sebelum mengetahui nilai @a (saya berasumsi pada kenyataannya Anda ingin @a menjadi beberapa parameter dan bukan kode keras seperti pada contoh Anda).

Sebagai gantinya, Anda dapat melakukan ini:

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

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

exec sp_executesql @sql

Tapi hati-hati, ini adalah kerentanan keamanan (serangan injeksi sql) jadi tidak boleh dilakukan jika Anda tidak dapat mempercayai atau membersihkan @a.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATEDIFF_BIG() Contoh di SQL Server

  2. Cara Memetakan Banyak Partisi ke Satu Filegroup di SQL Server (T-SQL)

  3. SQL Server:gunakan parameter di CREATE DATABASE

  4. Cara melihat riwayat kueri di SQL Server Management Studio

  5. Dapatkah saya menggunakan ADFS 2.0 untuk mengautentikasi pengguna tertentu terhadap SQL Server?