Php PostgreSQL获取过去12小时的项目

Php PostgreSQL获取过去12小时的项目,php,postgresql,Php,Postgresql,我有下面的查询来获取PHP文件中我想要的内容,除了WHERE部分之外,它完成了它的工作。我需要获取过去12小时内具有date\u time1列的项目 SELECT p.*, t.* FROM posts AS p LEFT JOIN posted_tweets AS t ON p.a_id = t.p_id WHERE p.date_time1 >= now() AND t.date_time = ( SELECT MAX(date_time) FROM post

我有下面的查询来获取PHP文件中我想要的内容,除了
WHERE
部分之外,它完成了它的工作。我需要获取过去12小时内具有
date\u time1
列的项目

SELECT p.*, t.* 
FROM posts AS p 
LEFT JOIN posted_tweets AS t 
ON p.a_id = t.p_id
WHERE p.date_time1 >= now() AND t.date_time =
( 
    SELECT MAX(date_time) 
    FROM posted_tweets AS t2 
    WHERE t2.p_id = t.p_id
)
    OR t.date_time IS NULL 
我应该如何准确地编辑
p.date\u time1>=now()
部分以达到我的目标?谢谢。

用中的适当时间函数替换
now()


编辑:实际的问题是与报价;记住在PostgreSQL查询中使用单引号

以下内容应限制在过去12小时内发生的所有时间:

w.date_time1 >= (NOW() - INTERVAL '12 hours' )

查看Postgresql中有关处理日期时间的详细讨论,以及示例。

我有语法错误:
now()-interval“12小时”
,还有这个
now()-“1小时”::interval
给出了
列“12小时”不存在的错误。所以,通过对谷歌的快速研究,我已经看到了这一点。这没有帮助。请尝试使用单引号而不是双引号。正如“12小时”与“12小时”的区别一样,没问题,很高兴help@FSQ一般来说,你应该把你的答案放在实际答案中。链接到文档会降低您的答案对试图使用堆栈溢出数据库解决问题的人的价值。它引发了以下错误:
查询失败:错误:在“12小时”或附近出现语法错误。
它给出了与“s”相同的答案
查询失败:错误:在“12小时”或附近出现语法错误
我想问题出在你的问题上,而不是我的答案。我现在明白了,问题出在单引号和双引号之间的区别上。在我添加间隔之前一切都很好,但似乎间隔不适合使用双引号。谢谢。你刚刚帮我省了两个小时,谢谢!