即时通讯尝试显示两个单独的日期列(开始和结束日期)之间预订的项目。我想在日期之间进行搜索,但查询似乎忽略了落在所选日期之间的任何日期。Mysql BETWEEN子句被忽略。没有语法错误
SELECT
bookings.booking_id,
bookings.booking_id,
bookings.booked_from,
bookings.booked_from,
bookings.booked_till,
item_set_computer.item_id,
item_set_computer.name,
item_set_computer.booking_groups_id
FROM
bookings,
item_set_computer
WHERE
item_set_computer.item_id = bookings.item_id
AND
item_set_computer.booking_groups_id = 3
AND
booked_from
BETWEEN "2010-04-13" AND "2010-04-20"
AND
booked_till
BETWEEN "2010-04-13" AND "2010-04-20"
例如,我有一个项目预订从13日至15日。 date1是2010-04-13,date2是2010-04-15。用户从14日至16日搜索预订商品。它没有返回结果。为什么忽略用户选择日期之间的数据库日期?该列在数据库中设置为DATE,并且已正确输入。
如果您发布到MySQL命令行,您的查询是否有效? – 2010-04-12 16:05:06