如何使用Postgres选择24小时的记录?

时间:2016-03-21 09:33:38

标签: postgresql

我正在使用此查询 select * from table_nm where table_nm_date > NOW() - INTERVAL '24 hour'

但也要提供今天的记录。请帮帮我。

Output : "2016-03-20 19:31:11.896159",
         "2016-03-21 08:24:58.223245",
         "2016-03-21 09:13:59.768953",
         "2016-03-21 09:51:25.161428",
         "2016-03-21 11:35:07.378706"

我只想要2016-03-20数据。

2 个答案:

答案 0 :(得分:3)

如果您想要昨天的数据,请仅过滤日期:

SELECT *
FROM   table_nm
WHERE  table_nm_date BETWEEN CURRENT_DATE - 1 AND CURRENT_DATE

(这是一个索引友好的变体:)

WHERE  table_nm_date::date = CURRENT_DATE - 1

答案 1 :(得分:0)

假设table_nm_date是通常的日期时间,如数据类型 然后您的查询将调低以选择"过去24小时内的任何条目"

如果你想排除"今天"您需要以适当的方式排除这些记录,例如在START_OF_WINDOW和END_OF窗口之间使用table_nm_date,根据您的需要设置两个边框。

相关问题