在MySQL中添加2小时到当前时间?

时间:2009-02-26 08:31:44

标签: mysql

MySQL中此查询的有效语法是什么?

SELECT * FROM courses WHERE (now() + 2 hours) > start_time

注意:start_time是课程表的字段

5 个答案:

答案 0 :(得分:285)

SELECT * 
FROM courses 
WHERE DATE_ADD(NOW(), INTERVAL 2 HOUR) > start_time

请参阅Date and Time Functions了解其他日期/时间操作。

答案 1 :(得分:37)

您需要DATE_SUB()DATE_ADD()

答案 2 :(得分:22)

DATE_ADD()功能可以解决问题。 (如果您至少运行v4.1.1,也可以使用ADDTIME()功能。)

对于您的查询,这将是:

SELECT * 
FROM courses 
WHERE DATE_ADD(now(), INTERVAL 2 HOUR) > start_time

或者,

SELECT * 
FROM courses 
WHERE ADDTIME(now(), '02:00:00') > start_time

答案 3 :(得分:19)

SELECT * FROM courses WHERE (NOW() + INTERVAL 2 HOUR) > start_time

答案 4 :(得分:1)

这也有效 - 从GEO_LOCATION选择名称,在SYDRATE()之间的MODIFY_ON - INTERVAL 2小时和SYSDATE()