2016-05-16 168 views
-1

我需要一些帮助与时间戳postgresql。我有一个名为download_at的时区的时间戳列,用于下载用户的应用程序和列号为user_id的整数。我试图提取在过去60天信息的最后168小时内下载的用户的用户ID。我对于如何处理这件事感到有些困惑,并且因为两个不同的时间而感到困惑。我相信我可能不得不玩trunc功能,但感觉有点卡住了。时间戳查询小时

+0

你能说清楚你从'过去60天的信息?一些示例数据结构将会有所帮助。 –

+0

嗯,它只是说在下载168小时内获得用户在过去60天的应用程序的信息。 – Richard

回答

0

一个基本的例子:

SELECT * 
FROM table1 
WHERE download_at > now() - '186 hours'::interval 

的Postgres是在处理日期和时间惊人。这是做什么的细目:

now() --function that returns the current time as a datetime object 

'186 hours'::interval --a string cast to an interval 

在postgres ::确实铸造。在转换为间隔时,Postgres会将格式化的英文转换为间隔对象。既然你可以减去日期时间和间隔对象,它会为你做剩下的事情。