sql >> Databasteknik >  >> RDS >> Mysql

Kontrollera överlappning av datumintervall i MySQL

Jag hade en sådan fråga med en kalenderapplikation jag skrev en gång. Jag tror att jag använde något sånt här:

... WHERE new_start < existing_end
      AND new_end   > existing_start;

UPPDATERA Detta borde definitivt fungera ((ns, ne, es, ee) =(ny_start, ny_slut, befintlig_start, befintlig_slut)):

  1. ns - ne - es - ee:överlappar inte och matchar inte (eftersom ne
  2. ns - es - ne - ee:överlappar och matchar
  3. es - ns - ee - ne:överlappningar och matchningar
  4. es - ee - ns - ne:överlappar inte och matchar inte (eftersom ns> ee)
  5. es - ns - ne - ee:överlappningar och matchningar
  6. ns - es - ee - ne:överlappningar och matchningar

Här är en fiol



  1. Automatiserad testning av uppgraderingsprocessen för PostgreSQL

  2. Hur man hittar icke-numeriska värden i en kolumn i MySQL

  3. Kopiera tabeller från en databas till en annan i SQL Server

  4. lagra arabiska i SQL-databas