我正在尝试仅检索24小时内的数据。
我的SQL是:
SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' AND
reporttime BETWEEN SYSDATE() - INTERVAL 1 DAY AND SYSDATE()) ORDER BY
reporttime ASC
有人能告诉我哪里出错了。提前致谢。
答案 0 :(得分:2)
你有一个不平衡的支架,
SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' AND
reporttime BETWEEN SYSDATE() - INTERVAL 1 DAY AND SYSDATE() ORDER BY
reporttime ASC
答案 1 :(得分:1)
在标准SQL中,您需要引用该上下文中的数字。
reporttime BETWEEN SYSDATE() - INTERVAL '1' DAY AND ...
MySQL文档表明你不需要在MySQL中这样做。我会怀疑并且测试。 (我没有在这里运行MySQL服务器实例,或者我会为你测试它。)
你可能想要NOW()而不是SYSDATE()。 SYSDATE() isn't deterministic在单个SQL语句中,因此对SYSDATE()的两次调用可能(但不太可能)返回不同的值。
答案 2 :(得分:1)
从SYSDATE())
SELECT *
FROM aprstrack
WHERE callsignSSID = 'VE9SC-9'
AND
reporttime BETWEEN (SYSDATE() - INTERVAL 1 DAY) AND SYSDATE()
ORDER BY reporttime ASC