Question Using a case statement to set a variable

asest

Member
Joined
Aug 25, 2010
Messages
7
Location
Kent, UK
Programming Experience
1-3
Hi,
I am struggling to understand what is wrong with the following...

DECLARE @YEAR as varchar(4);
DECLARE @MONTH as varchar(4);

SET @MONTH = MONTH(DATEADD(M,1,GETDATE()));
CASE @YEAR
WHEN @MONTH == '12' THEN '2011';
ELSE YEAR(GETDATE());
END

I receive the following error...

"Msg 156, Level 15, State 1, Line 5
Incorrect syntax near the keyword 'CASE'."

Any suggestions please?
 
I worked it out, thanks anyway.

DECLARE @YEAR as varchar(4);
DECLARE @MONTH as varchar(4);

SET @MONTH = MONTH(DATEADD(M,1,GETDATE()));
SET @YEAR =
CASE @MONTH
WHEN '1' THEN CONVERT(INT,(YEAR(GETDATE()))) + 1
ELSE YEAR(GETDATE())
END;
 
Back
Top