0

我正在尝试使用案例语句设置变量值以确定财政年度,具体取决于月份,但我得到了财政年度返回的 Null 值:

declare
@Costcentre varchar(50)
,@dt date
,@dty int
,@dtm int

select @Costcentre = 'CAM'
SELECT @dt = '2012-09-30'
select @dtm = DATEPART(month,@dt)
select 
@dty = case when @dtm between 4 and 12 then DATEPART(year,@dt) + 1 end
,@dty = case when @dtm between 1 and 3 then DATEPART(year,@dt) end


select @dty
4

1 回答 1

2

您只需要分配@dty一次:

select  @dty = case 
    when @dtm between 4 and 12 then DATEPART(year,@dt) + 1 
    when @dtm between 1 and 3 then DATEPART(year,@dt) 
end

@dty否则,如果@dtm不在 1 和 3 之间,则只是覆盖。

于 2012-10-24T13:13:39.270 回答