嗨,我有一个“mysql”查询,如下所示:
... WHERE (maintenanceLockTimestamp + "+ delay+" SECOND) < CURRENT_TIMESTAMP ) ) "
问题是,我们需要从mysql迁移到postgresql,但是在执行同一个查询时,我得到:
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near "SECONDS"
我在这里查过:https://www.postgresqltutorial.com/postgresql-date-functions/
而且第二个函数在postgresql中似乎不存在,您知道有什么替代方法吗?
谢谢
1条答案
按热度按时间koaltpgm1#
在postgres中,您可以使用:
请注意,使用参数可以避免用文本值来填充查询字符串。
在这两个数据库中,最好使用
current_timestamp
:这允许优化器在上使用索引
maintenanceLockTimestamp
为了表现。