Here is a SQL equivalent of solution 1.
declare @testEndDateMonth int, @testEndDateDay int;
set @testEndDateMonth = 1;
set @testEndDateDay = 20;
declare @testDate datetime;
set @testDate = convert(varchar(4), datepart(year, getdate()))
+replace(str(@testEndDateMonth, 2), space(1), '0')
+replace(str(@testEndDateDay, 2), space(1), '0')
;
select
case when @testDate > getdate() then
'Last Year'
else
'This Year'
end WhatYear;