Używam PHP/MySQL i opieram się na założeniu, że zapytanie może zostać uruchomione, a jeśli „są” pasujące wyniki, to nie poradzisz sobie, jeśli „nie ma” pasujących wyników, wstaw je.
Cóż, spróbuj tego. Tutaj :date:
to data wpisu, który zamierzasz dodać, oraz :start-time:
i :finish-time:
to odpowiednio czas rozpoczęcia i zakończenia.
SELECT EXISTS (
SELECT
1
FROM
TableName
WHERE
`date` = :date: AND
( :start-time: BETWEEN startTime AND finishTime OR
:finish-time: BETWEEN startTime AND finishTime OR
startTime BETWEEN :start-time: AND :finish-time:
)
) AS `Clash`