sql >> Database teknologi >  >> RDS >> Mysql

Dato mellem 2 andre datoer, uden hensyntagen til årstal

Du skal skelne mellem to tilfælde.

  1. Når first < last , datoerne er i samme år. Du kan derefter bruge between at matche datoer.

  2. Når first > last , det betyder last er i det næste år. I dette tilfælde er de datoer, der matcher, date >= first OR date <= last .

Så din WHERE-sætning skal være:

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



  1. En oversigt over JSON-kapaciteter i PostgreSQL

  2. Bestille varer i MySQL efter en fast liste?

  3. MySQL Trigger:Slet fra tabel EFTER SLETT

  4. Hvordan udfylder man databasen kun én gang før @Test-metoder i forårstest?