看起来这应该是一件简单的事情,但是 postgresql 中的日期/时间操作让我很烦。我要做的就是搜索超过 10 分钟的项目。编码语言是PHP。
字段 event_time
是:没有时区的时间戳 NOT NULL
$sql = "SELECT * FROM incidents WHERE
event_time < ( now() - interval '-{$threshold} minutes' )
AND submitted=0 ";
此查询返回所有结果,而不是 10 分钟前的项目。我是否需要以某种方式强制转换该 event_time 字段?
最佳答案
通过使用负阈值,您得到了双重否定,因此您正在搜索 future 不到 10 分钟的所有内容(这自然会返回所有内容)。只需使用 interval '{$threshold} minutes}'
关于php - Postgresql 搜索早于阈值的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854547/