如何在SQL Server select
语句中将列名作为参数传递?
答案 0 :(得分:6)
您需要构建查询以动态执行,但您需要防止SQL注入攻击。幸运的是,SQL Server为此提供了QUOTENAME函数。
DECLARE @columnname varchar(50)
SET @columnname = 'MyColumn'
EXEC('SELECT ' + QUOTENAME(@columnname) + ' FROM MyTable')
答案 1 :(得分:2)
您可以使用方法:
declare @sql nvarchar(max)
set @sql = 'your dynamic query here'
EXEC(@sql)
请注意这是不安全的,不建议使用。