2016-04-08 8 views
0

私はちょっと質問があります。私はキャブ予約システムをやっています。私はSQLで次の2時間以内に予約を選択するのに困っています。私はすべてを選択したときに全体の予約が表示される必要はありません。私はクエリを実行してから2時間以内にしたいだけです。MySQLの時間範囲を選択する際に問題が発生する

$query= "select Booking_No, 
    Email_Address, 
    Customer_Name, 
    Passenger_Name, 
    Phone_No, 
    concat(Unit_Number,'/', Street_Number,' ', Street_Name,',', Suburb) as Unit_Number, 
    Destination_Suburb, 
    Pickup_Date, 
    Pickup_Time from Booking1 
    where status = 'false' 
    and 
    (Pickup_Time >= DATE_FORMAT(NOW(), '%h:00:00') and 
    Pickup_Time <= DATE_FORMAT(NOW(), '%h') + interval 2 hour)"; 
+1

これを実行するとどうなりますか? – Machavity

+0

私はこのコードを実行すると私たちがいるのと同じ時間内に予約が得られます。例えば今10時30分と言うことができます。私はそれを実行すると、私はすべての予約を午後10時から午後10時59分まで受け取り、次の2時間以内には私が望むようにはなりません。 –

答えて

0

WHERE句に 'BETWEEN'句を使用します。

WHERE status = 'false' AND Pickup_Time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 2 HOUR) 

NOW()は、日付/時刻オブジェクトを返します.DATE_ADD()は、日付/時刻オブジェクトを返します。あなたのPickup_Timeが日付/時間オブジェクトである限り、これは扱いのように動作します!

関連する問題