我想查询日期字段以选择所有等于或大于当前时间+ 6小时的条目。评论的第一个条目有效,但它是我正在与之争斗的第二个条目。我知道这种语法远非正确。
//$query = "SELECT * FROM `order` WHERE order_status_id = 1 AND date_added >= CURRENT_DATE ORDER BY order_id DESC";
$query = "SELECT * FROM `order` WHERE order_status_id = 1 AND CURRENT_TIME >= date_added +6 hours";
答案 0 :(得分:0)
$query = "SELECT * FROM `order` WHERE order_status_id = 1 AND NOW()>= DATE_ADD(date_added,INTERVAL 6 HOUR)";
此查询将获取您的date_added值,并为其添加6个小时,之后将其与CURRENT_TIME
进行比较。我建议在mysql中使用NOW()
而不是CURRENT_TIME
。
答案 1 :(得分:0)
您可能正在寻找DATE_ADD
(documentation)功能。在你的情况下:
$query = "SELECT * FROM `order` WHERE order_status_id = 1 AND your_date_field >= DATE_ADD(CURRENT_TIME, INTERVAL 6 HOURS)";
可能会做你需要的。
答案 2 :(得分:0)
尝试此查询
$query = "SELECT * FROM `order` WHERE order_status_id = 1 AND CURRENT_TIME >= DATE_ADD(date_added, INTERVAL 6 HOUR)";