我正在寻找一种方法来获得前一个月的开始和结束日期时间,查询是运行的,我可以在查询中重用它。
我正在查看interval,但我希望查询能够计算出,如果我在2021年3月运行该查询,我将查找'2021-02-01 : 00:00:00‘到'2021-02-28 23:59:59’之间的数据。
这是否可能使用interval或类似的东西,或者是否需要一个中间步骤?
发布于 2021-03-03 06:37:59
假设要对表中的列应用条件,则可以使用:
where timestamp_column >= date_trunc('month', current_timestamp) - interval '1 month'
and timestamp_column < date_trunc('month', current_timestamp)date_trunc('month', current_timestamp) - interval '1 month'为您提供了前一个月的开始。三月是2021-02-01。
date_trunc('month', current_timestamp)给出了“这个月”的开头,因此在3月份,这将是2021-03-1,因为上限的比较是使用<完成的,它将包括2月最后一天的所有内容(包括您想要的条件不包括的23:59:59.9999999 )。
https://dba.stackexchange.com/questions/286332
复制相似问题