比较日期和日期时间

时间:2015-05-09 17:48:29

标签: php sql datetime compare

我想比较sql和今天的日期时间。 sql中的日期时间例如是2015/05/09 12:00:00,当前日期是2015/05/09。我想比较这些东西,如果它们是平等的,但是整整一天所以时间是个问题。我有以下查询。

$q1="SELECT reservations.reservation_id, reservations.room_id,   room.room_rate, reservations.arrival_date, reservations.departure_date,
                            meals.meal_rate, room.room_rate, roomtype.max_persons,
                            CONCAT(clients.first_name,' ',clients.last_name)as name

                    FROM reservations, clients, meals, room, roomtype
                    WHERE reservations.room_id=room.room_id AND reservations.client_id=clients.client_id AND room.roomtype_id=roomtype.roomtype_id 
                    AND reservations.meals=meals.meal_id AND reservations.arrival_date=CURDATE()
                    GROUP BY reservation_id
                    ";

reservations.arrival_date = CURDATE()仅在12:00:00 o时钟时相等。我希望这一天平等。实际上我想比较这两个日期是否相等,没有时间,但我的数据库必须是时间的日期时间... 有没有人有想法? 提前谢谢

1 个答案:

答案 0 :(得分:0)

您应该学习使用标准join语法。简单的规则:从不from子句中使用逗号。

您的问题的答案是date()函数(或类似的东西):

where date(reservations.arrival_date) = CURDATE()

或不平等:

where (reservations.arrival_date >= CURDATE() and
       reservations.arrival_date < date_add(CURDATE(), interval 1 day)
      )

第二个实际上是首选,因为它可以使用reservations(arrival_date)上的索引。