sql >> Database >  >> RDS >> Mysql

Datum tussen 2 andere data, jaartal buiten beschouwing gelaten

U moet twee gevallen onderscheiden.

  1. Wanneer first < last , de data zijn in hetzelfde jaar. U kunt dan between . gebruiken om datums te matchen.

  2. Wanneer first > last , het betekent last is in het volgende jaar. In dit geval zijn de datums die overeenkomen date >= first OR date <= last .

Dus je WHERE-clausule zou moeten zijn:

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



  1. Problemen met schijf-I/O-knelpunten oplossen

  2. De HAProxy-statistieken voor MySQL en PostgreSQL begrijpen

  3. Een unieke sleutel met meerdere kolommen laten vallen zonder een externe sleutel te laten vallen?

  4. Lijst met opgeslagen procedures/functies Mysql-opdrachtregel