It's simple.
SELECT *
FROM reservation
WHERE (startDateTime >='2013-06-01 02:00:00') AND (endDateTime <='2013-06-01 03:00:00'
Above query returns 0 records.
SELECT *
FROM reservation
WHERE (startDateTime BETWEEN '2013-06-01 02:00:00' AND '2013-06-01 03:00:00') AND (endDateTime BETWEEN '2013-06-01 02:00:00' AND '2013-06-01 03:00:00')
Above query returns 0 records.Test it with
OR
operator between two conditions:
SELECT *
FROM reservation
WHERE (startDateTime BETWEEN '2013-06-01 02:00:00' AND '2013-06-01 03:00:00') OR (endDateTime BETWEEN '2013-06-01 02:00:00' AND '2013-06-01 03:00:00')
What's the difference?
SELECT *
FROM reservation
WHERE (startDateTime BETWEEN '2013-06-01 02:00:00' AND '2013-06-01 03:00:00')
Above query returns
ID 00002
.
SELECT *
FROM reservation
WHERE (endDateTime BETWEEN '2013-06-01 02:00:00' AND '2013-06-01 03:00:00')
Above query returns
ID 00001
.
Please, read about
MySQL logical operators[
^].