sql >> Base de Datos >  >> RDS >> Mysql

Fecha entre otras 2 fechas, sin tener en cuenta el año

Es necesario distinguir dos casos.

  1. Cuando first < last , las fechas son del mismo año. A continuación, puede utilizar between para hacer coincidir las fechas.

  2. Cuando first > last , significa last es en el proximo año. En este caso, las fechas que coinciden son date >= first OR date <= last .

Entonces su cláusula WHERE debería ser:

WHERE IF(first < last, @date BETWEEN first AND last,
                       @date >= first OR date <= last)