J'ai eu une telle requête avec une application de calendrier que j'ai écrite une fois. Je pense que j'ai utilisé quelque chose comme ça :
... WHERE new_start < existing_end
AND new_end > existing_start;
MISE À JOUR Cela devrait certainement fonctionner ((ns, ne, es, ee) =(new_start, new_end, existing_start, existing_end)) :
- ns - ne - es - ee :ne se chevauchent pas et ne correspondent pas (car ne
- ns - es - ne - ee :chevauchements et correspondances
- es - ns - ee - ne :chevauchements et correspondances
- es - ee - ns - ne :ne se chevauchent pas et ne correspondent pas (car ns> ee)
- es - ns - ne - ee :chevauchements et correspondances
- ns - es - ee - ne :chevauchements et correspondances
Voici un violon