Saya tidak 100% yakin akan hal ini, tetapi menurut saya kueri ini seharusnya cukup mendekati:
select * from tblEvents
where (@starttime >= start && @starttime <= end) /* Starts while someone else has it */
or (@endtime >= start && @endtime <= end) /* Ends while someone else has it */
or (@startime <= start && @endtime >= end) /* Starts before & ends after someone else has it*/
and equipID = @equipID
Ganti @starttime, @endtime &@equipID dengan id peralatan yang sesuai dan waktu mulai &berakhir yang dimasukkan oleh pengguna. Jika kueri ini tidak memberikan hasil, maka seharusnya tidak ada konflik waktu.
Pada dasarnya itu memeriksa 3 skenario ini, di mana *adalah waktu mulai &berakhir Anda, - adalah waktu yang tidak digunakan, dan | adalah waktu yang digunakan oleh orang lain:
-||||*|||||------*------
------*--------|||*||||--
------*--|||||||--*------