有没有办法编写这样的SQL查询:
CASE WHEN DATEPART(yy,@year_end) = 2013 AND DATEPART(mm,@year_end) = 3
THEN @AdjStartYear = '2012/07/01' AND @AdjEndYear = '2012/12/31'
基本上,我想在评估CASE语句后发生两件事。
由于
答案 0 :(得分:3)
不,你必须发表2个案例陈述
select @AdjStartYear = CASE WHEN DATEPART(yy,@year_end) = 2013 AND DATEPART(mm,@year_end) = 3
THEN '2012/07/01'
END,
@AdjEndYear = CASE WHEN DATEPART(yy,@year_end) = 2013 AND DATEPART(mm,@year_end) = 3
THEN '2012/12/31'
END
答案 1 :(得分:1)
您可以在没有CASE
声明的情况下执行此操作:
SELECT @AdjStartYear = '2012/07/01', @AdjEndYear = '2012/12/31'
WHERE DATEPART(year, @year_end) = 2013 AND DATEPART(month, @year_end) = 3
仅在满足WHERE
条件时才执行此操作。 sqlFiddle