MySQL中此查询的有效语法是什么?
SELECT * FROM courses WHERE (now() + 2 hours) > start_time
注意:start_time是课程表的字段
答案 0 :(得分:285)
SELECT *
FROM courses
WHERE DATE_ADD(NOW(), INTERVAL 2 HOUR) > start_time
请参阅Date and Time Functions了解其他日期/时间操作。
答案 1 :(得分:37)
答案 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()