0

我有一个严重的问题,我无法弄清楚。我正在尝试从 MySQL 数据库返回两个给定日期之间的开始日期和结束日期的行。这是我查询数据库的php代码:

$getRooms = mysql_query("
    SELECT * 
    FROM Tarifas 
    WHERE Start BETWEEN '2013-01-10' AND '2013-01-13' 
    AND   End   BETWEEN '2013-01-10' AND '2013-01-13'
");

Start 和 End 设置为 DATE 字段

我的数据库设置如下:

ID | RoomId | Start      | End
--------------------------------------
4  | 34562  | 2013-01-09 | 2013-10-23

如果有人能帮我弄清楚为什么这不起作用,将不胜感激!!

4

1 回答 1

3

查看您的查询和示例数据,也许您正在寻找一个SQL 查询来查找重叠或冲突的日期范围。查询将是:

SELECT *
FROM Tarifas 
WHERE '2013-01-13' >= `Start` AND `End` >= '2013-01-10'

2013-01-13大于2013-01-09-- 并且 --2013-10-23大于2013-01-10所以 Tarifas #4 将被返回,因为它与指定的日期冲突/重叠。

于 2012-09-09T15:56:28.200 回答