Cita: case when month(fecha)<=month(getdate()) AND day(fecha)<=day(getdate())
T3rryMan
Estás cometiendo un error de lógica clásico. Al comparar por separado los meses y los días, te olvidas que un día mayor que el día actual puede pertenecer a una fecha menor. El
1 de junio sigue siendo mayor que el
31 de enero. No debes compararlos por separado. El resultado correcto puedes obtenerlo con:
Código SQL:
Ver originalCASE
WHEN RIGHT(CONVERT(VARCHAR(8), td.dt, 112), 4) <=
RIGHT(CONVERT(VARCHAR(8), getdate(), 112), 4) THEN ...
--O usando las funciones que originalmente consideraste
CASE
WHEN (MONTH(fecha) * 100) + DAY(fecha) <=
(MONTH(getdate()) * 100) + DAY(getdate()) THEN ...
Saludos.