Как вы сказали в комментариях, у вас есть begin
и end
значения в UNIX_TIMESTAMP
, поэтому вот запрос для проверки получения желаемого результата:
Попробуйте это:
SELECT *
FROM timetable
WHERE $begin >= UNIX_TIMESTAMP(`starttime`)
AND $end <= UNIX_TIMESTAMP(`endtime`)
AND $begin < $end
Как это работает:
$begin >= UNIX_TIMESTAMP(`starttime`)
Проверяется, больше ли время начала, чем время начала, сохраненное в базе данных, или равно ему.
$end <= UNIX_TIMESTAMP(`endtime`)
Он проверяет, меньше ли время окончания или равно времени окончания, сохраненному в базе данных.
$begin < $end
Он проверяет, больше ли время окончания, чем время начала.
Надеюсь, это поможет:)