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())
)
or
(case when MONTH(getdate()) = 1 then
cast(LEFT(s_num, 4) AS INT) end = YEAR(getdate())-1
AND
(case when MONTH(getdate()) = 1 then
CAST(right(s_num, 2) AS INT) end) <= 12
)
OR
(
case when MONTH(getdate()) = 1 then
cast(LEFT(i_num, 4) AS INT) end = YEAR(getdate())-1
AND
(case when MONTH(getdate()) = 1 then
CAST(right(i_num, 2) AS INT) end) <= 12
)