Mysql
 sql >> Base de données >  >> RDS >> Mysql

Date entre 2 autres dates, sans tenir compte de l'année

Il faut distinguer deux cas.

  1. Quand first < last , les dates sont dans la même année. Vous pouvez ensuite utiliser between pour faire correspondre les dates.

  2. Quand first > last , cela signifie last c'est l'année prochaine. Dans ce cas, les dates qui correspondent sont date >= first OR date <= last .

Donc votre clause WHERE devrait être :

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