I'm curious how efficient that "format date to string" and then do "string range test" is in Oracle.
Over the years I've seen quite a number of questions about conversion of Oracle code to MS SQL, and that type of use of to_char() comes up quite often, and I've always assumed "that's just how it is in Oracle", but like-for-like doing date comparison in a similar way in MS SQL would be horrific (performance-wise), I wonder why that is not a performance issue in Oracle too? Maybe it is ..
But of course, except for old-hands, MS SQL constructions like
DATEADD(MONTH, 12, DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) - 1, 0))
are pretty obtuse!