如何在PostgreSQL中的给定日期的三个月内选择所有内容

时间:2017-12-04 00:52:46

标签: postgresql

我有两个专注于我的专栏。一个存储日期值,另一个存储时间戳值。当日期或日期时间在90天以内时,如何从每列中选择查找数据?

例如,我正在寻找类似这样的东西

SELECT * FROM table WHERE date_column in range (current_date + 90);

,类似于时间戳列

SELECT * FROM table WHERE timestamp_with_timezone_column IN RANGE (current_timestamp_with_timezone + 90);

1 个答案:

答案 0 :(得分:0)

只需使用一个区间来适应

SELECT * FROM table 
WHERE date_column <= current_date + INTERVAL '3 MONTH'
-- or if you prefer 
-- WHERE date_column <= current_date + INTERVAL '90 DAY'

时间戳大致相同:

SELECT * FROM table 
WHERE timestamp_with_timezone_column <= current_timestamp + INTERVAL '3 MONTH'

或者,如果想要删除当前时间,那么可能:

WHERE timestamp_with_timezone_column <= date_trunc('day',current_timestamp) + INTERVAL '3 MONTH'