这个与mySQL一起使用的查询不适用于Postgresql:
select ... from ... where (id = ... and ( h > date_sub(now(), INTERVAL 30 MINUTE)))
错误是:
Query failed: ERREUR: erreur de syntaxe sur ou près de « 30 »
有什么想法吗?
答案 0 :(得分:13)
DATE_SUB
是PostgreSQL中不存在的MySQL函数。
您可以(例如)使用;
NOW() - '30 MINUTES'::INTERVAL
...或...
NOW() - INTERVAL '30' MINUTE
...或...
NOW() - INTERVAL '30 MINUTES'
作为替代品。
答案 1 :(得分:0)
区间文字需要单引号:
INTERVAL '30' MINUTE
你可以使用常规的“算术”:
and (h > current_timestamp - interval '30' minute)
答案 2 :(得分:0)
尝试使用以下内容:
select ...
from ...
where id = ...
and h > now() - INTERVAL '30 MINUTE'