Používám PHP/MySQL a vycházím z toho, že dotaz lze spustit a pokud „existují“ odpovídající výsledky, pak selže, pokud „nejsou“ odpovídající výsledky, vložit.
No, zkus tohle. Zde :date:
je datum záznamu, který se chystáte přidat, a :start-time:
a :finish-time:
jsou časy začátku a konce.
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`