我已经测试了locanhost和Openshift上的表test
,我遇到的问题是在openshift上,当我查询像WHERE arrivaltime BETWEEN curtime() - INTERVAL 2 MINUTE AND curtime() + INTERVAL 2 MINUTE
这样的数据时,我没有收到任何回复,尽管在本地主机上我是让路线9回来。在openshift上,我根据服务器时间插入到达时间。在localhost上我根据当地时间插入到达时间,但是当我将查询更改为此表单WHERE time_format(arrivaltime,'%H:%i')= time_format(curtime() ,'%H:%i')
时,我将9
恢复到openshift,但我需要回复+- 2
分钟。我该如何解决?或者有人有一个openshift帐户如何测试下面的表格和查询?
我感谢任何帮助。
测试表
CREATE TABLE test(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
arrivaltime Time NOT NULL,
route INT(11) NOT NULL
)
插入数据:
INSERT INTO test(arrivaltime, route) values('04:16:00', 9)
此查询不适用于Openshift,适用于localhost:
SELECT route FROM test
WHERE arrivaltime BETWEEN curtime() - INTERVAL 2 MINUTE AND curtime() + INTERVAL 2 MINUTE
openshift curtime()
04:15:15
当我在openshift上查询这样的测试时,我得到了响应,但到达时间应该等于当前时间。
SELECT route FROM test
WHERE time_format(arrivaltime,'%H:%i')= time_format(curtime() ,'%H:%i')
答案 0 :(得分:1)
对于这个问题,我建议使用此查询,而不是尝试直接修改它。
select route from test where arrivaltime between subtime(curtime(), '00:02:00') and addtime(curtime(), '00:02:00');
并且还要确定问题所在,也许您可以尝试使用此查询来检查是否存在警告或错误。
show warnings;
show errors;