2012-11-28 48 views
0

我有如下表:检查抵达日期和离开是范围的mysql内

id  travelStart travelExpires 
1  2012-11-12 2013-01-31 
1  2012-11-12 2013-01-31 

和下面是我的到达和离开日期:

arrival date: 2012-12-28 
departure date : 2012-12-30 

我要检查抵港及离港日期在travelStart和travelEnd之间。如何为它编写mysql查询。

回答

0

你的答案有最简单的解决方案,MySQL中的BETWEEN运算符。工作原理:

SELECT * from YourTable WHERE (:arrivalDate BETWEEN travelStart AND travelExpires) AND (:departureDate BETWEEN travelStart AND travelExpires) 

显然需要绑定的:arrivalDate:departureDate参数。

+0

'$结果= $ DB-> fetchRow(“SELECT * FROM表名WHERE bookingStart和bookingExpires AND(($ travelStart BETWEEN travelStart和travelExpires)AND($ travelEnd之间CURDATE() “travelStart AND travelExpires)”,array($ couponcode));' – Sky

+0

以上是我的查询...它显示了一些语法错误 – Sky

+0

您错过了一个右括号AND travelExpires)) –

0

尝试此查询

select * from table where (arrival_date<=travelStart AND arrival_date<=travelExpires) AND (departure_date>=travelStart AND departure_date<=travelExpires)