我正在尝试使用 postgrSQL 查找一周中某一天的时间戳。例如,可能使用 now() 来获取当前时间,但我想获取相同类型的数据返回值,例如最近的星期一或星期日。
我正在寻找这个,因为我有一个查询可以检索从现在到几个月前的数据,我不想包括本周。作为一个例子,它现在做了什么:
creation_date > now() - INTERVAL '2 month'
我认为这可能会实现我的目标:
BETWEEN now() - INTERVAL '4 month' AND now() - INTERVAL '1 week'
但它只是从查询中减去 7 天,这不是我想要的。基本上,我想要:
BETWEEN now() - INTERVAL '4 month' AND ????
问号是最近星期日的时间戳,至少我相信这是可行的。
最佳答案
date_trunc('week', current_date) - 间隔“1”天
date_trunc('week', current_date)
将返回一周开始的日期。
在 Postgres 中,一周的开始总是星期一。这就是为什么您需要从结果中减去另一天以获得星期日。
关于sql - 获取一周中某一天的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327528/