0

たとえば、 as句のようにローカル変数を宣言することを使用したい

私は昨年と今年を取得します

declare @lastYear varchar(4)=datepart(YEAR,DATEADD(year,-1,GETDATE()));
declare @currentYear varchar(4)=datepart(YEAR,DATEADD(year,0,GETDATE()));

上記のように使いたいのですが、

select a.totalCountLy  as @lastYear,
a.totalCountLy as @currentYear from TableName as a (nolock

そして結果は次のようになります

2011          2012
------------------
1000          5000
400           1000

助言がありますか。ありがとう。

4

1 に答える 1

1

動的 SQL を使用して、これはどうですか?

declare @lastYear varchar(4)=datepart(YEAR,DATEADD(year,-1,GETDATE()));

declare @sql nvarchar(max) = 
    N'select a.total as [' + convert(nvarchar(24), @lastYear) + N'] from TableName as a'

exec sp_executesql @sql
于 2012-05-22T13:22:30.063 に答える