如何在列名中添加参数?

How to add parameter in column name?

查询:

declare @Year  varchar(max) ;
SET @Year=  CAST(YEAR(GETDATE()) AS VARCHAR)
select 1 as 'apr-' + cast(@year as varchar(10))

错误:

Msg 102, Level 15, State 1, Line 3
Incorrect syntax near '+'.

输出如:

apr-2017
1

你可以使用动态 SQL:

 declare @Year  varchar(max) ;
 SET @Year=  CAST(YEAR(GETDATE()) AS VARCHAR)

 declare @cmd nvarchar(max)
 select @cmd = 'select 1 as ''apr-' + cast(@year as varchar(10)) + ''''
 exec (@cmd)