我正在尝试从表中选择一行,假设启动时间在当前时间的一小时范围内。
该表只是一个id和一个datetime字段。
SELECT * FROM kick_offs WHERE NOW() BETWEEN (DATE_SUB(`time`, INTERVAL 30 MINUTES)) AND (DATE_ADD(`time`, INTERVAL 30 MINUTES))
SELECT * FROM kick_offs WHERE `time` BETWEEN (DATE_SUB(NOW(), INTERVAL 30 MINUTES)) AND (DATE_ADD(NOW(), INTERVAL 30 MINUTES))
这两个查询都失败了。我不确定为什么。服务器正在运行MySQL 5.0。我做错了什么?
答案 0 :(得分:2)
不确定从哪里获取SQL,但我认为应该这样做。
SELECT * FROM kick_offs WHERE `time` < DATE_ADD(NOW(), INTERVAL 1 HOUR) AND `time`>= NOW()
请参阅: Display rows from MySQL where a datetime is within the next hour