我遇到了一个严重的问题,无法解决。我试图从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'
");
开始和结束设置为DATE字段
我的数据库设置如下:
ID | RoomId | Start | End
--------------------------------------
4 | 34562 | 2013-01-09 | 2013-10-23
如果有人能帮我弄清楚为什么这不起作用,我将不胜感激!!
查看您的查询和示例数据,也许您正在寻找一个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将被返回,因为它与指定日期冲突/重叠。