我想在MySQL中选择列Heure在$ heure和$ heure + 5分钟之间的值。

SELECT * FROM `formulaires`.`ancienneadresse` WHERE Heure BETWEEN '$heure' AND DATE_ADD('$heure', INTERVAL 5 MINUTE)


我尝试了下一个,它正在工作..

SELECT * FROM `formulaires`.`ancienneadresse` WHERE Heure BETWEEN '$heure' AND '15:46:55'


那么,为什么我对DATE_ADD()错误?

最佳答案

我认为您的Heure字段设置为varchar,因此SQL无法理解您正在尝试比较时间,因此应尝试如下操作:

 $heure_to=date("G:i:s", strtotime("$heure + 5 minutes"));
 SELECT * FROM `formulaires`.`ancienneadresse` WHERE
 STR_TO_DATE(Heure, '%H:%i:%s')
 BETWEEN '$heure' AND '$heure_to'


https://eval.in/131454

这是一个fiddle

关于mysql - 如何从BETWEEN情况(mySQL)将$ var放在DATE_ADD()中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22849344/

10-11 01:24