选择参数而不是字段名称

时间:2018-03-22 13:04:39

标签: sql-server tsql

如何使用参数代替字段名称,如:

Declare @Thecode varchar(10)
Set @Thecode= ‘code’   --'code' is field name. 
Select @Thecode from sqltable

2 个答案:

答案 0 :(得分:0)

以下是您的查询中的更正:

SET @Thecode= ‘code’   --'code' is field name. 
SET @query='Select '+@Thecode+' from sqltable'
EXECUTE(@query)

在SQL Server中执行动态SQL有两种方法:使用sp_executesql系统存储过程或EXECUTE()运算符。 有关动态SQL执行的更多详细信息请访问以下链接:

  

https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/

答案 1 :(得分:0)

我认为您正在寻找动态SQL。

如果是这样,请检查以下解决方案:

注意:在SQL Server 2008 R2中测试

Declare @Thecode varchar(10)
DECLARE @query VARCHAR(MAX)

Set @Thecode= 'code'   --'code' is field name. 

SET @query = 'SELECT '+ @Thecode +' from sqltable';

EXEC(@query)

在发布问题时,始终提及标签中的DBMS。并照顾SQL Injection

有关Dynamic SQL

的详细信息