我有一个Microsoft SQL存储过程,其列名我想通过传递给它的变量设置:
CREATE PROCEDURE [My_Procedure]
@myDynamicColumn varchar(50)
AS BEGIN
SELECT 'value' AS @myDynamicColumn
END
Run Code Online (Sandbox Code Playgroud)
这不起作用("语法不正确").如果我用[]包装列名:
SELECT 'value' AS [@myDynamicColumn]
Run Code Online (Sandbox Code Playgroud)
列名称字面输出为'@myDynamicColumn'而不是实际值.有没有办法做到这一点?我查看了动态SQL文章,但没有什么是我要求的.
SQL 2005 / SQL 2008
Declare @temp nvarchar(1000)
set @temp = 'ABC'
select col1,col2 from tableA
Run Code Online (Sandbox Code Playgroud)
与选择查询一起,如何向选择查询中添加变量?
expected output :-
select col1,col2,@temp as [col3] from tableA
Run Code Online (Sandbox Code Playgroud)
其中@temp指定tableA中列的名称。