如何在select语句SQL Server中将列名作为参数传递

时间:2015-05-08 08:26:24

标签: sql sql-server

如何在SQL Server select语句中将列名作为参数传递?

2 个答案:

答案 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)

请注意这是不安全的,不建议使用。