Thanks. There was a bit more to it that I thought if left off would simplify it. Basically if the month(getdate()) is greater than 1 then I need the current year (of object) and any prior months (of same) i.e.

Thanks stepson. I've got it working but finally need to cater for Jan going back into the previous year as follows. There seems too much repetition though and ideally I need to shorten the 2 parts (where month(getdate) > 1 and where month(getdate) = 1).
(s_num and i_num are now named.). Thanks.

WHERE
(
case when MONTH(getdate()) > 1 then
cast(LEFT(s_num, 4) AS INT) end = YEAR(getdate())
AND
(case when MONTH(getdate()) > 1 then
CAST(right(s_num, 2) AS INT) end) < month(getdate())
)
OR
(
case when MONTH(getdate()) > 1 then
cast(LEFT(i_num, 4) AS INT) end = YEAR(getdate())
AND
(case when MONTH(getdate()) > 1 then
CAST(right(i_num, 2) AS INT) end) < month(getdate())
)