我在Drupal 7的一個查詢正在搜索的自定義表查詢:Drupal的7 - 使用BETWEEN不工作
$query5 = "SELECT COUNT(reservation_id) as rcount5, reservation_id FROM {reservations} WHERE resource_id = :resource_id AND reservation_date = :reservation_date AND start_time BETWEEN :start_time AND :end_time";
$result5 = db_query($query5, array(':resource_id' => $resource_id, ':reservation_date' => $reservation_date, ':start_time' => $start_time, ':end_time' => $end_time));
查詢是不工作,因爲我認爲這是不承認的BETWEEN正常運行和返回end_time因爲它存在。有沒有辦法顯示這是一個BETWEEN語句的Drupal或數據庫API?謝謝。
我不明白。我嘗試了Clive和Krister Andersson的解決方案,結果與我的代碼相同。正在使用的$ start_time的值是0600,作爲varchar存儲在數據庫中。作爲匹配返回的行具有這些值 - > start_time = 0700,end_time = 0950. 0600顯然不是BETWEEN 0700和0950.無法弄清楚。哼! – RayJamesFun
start_time和end_time應該是數字,而不是字符串 –
@MariusIlie:他們爲什麼應該是數字?使用4個字符的字符串表示一個時間是完全有效的,它總是完成。請記住,這是一個自定義表格,不屬於字段API。 – Clive