我试图选择PostgreSQL 9中发生在上周末之前的所有事务。我应该使用哪个日期函数来建立这样的间隔?

最佳答案

> select now();
"2013-09-09 11:43:29.307089+02"
> select date_trunc('week',now()-'1 week'::interval);
"2013-09-02 00:00:00+02" //start of previous week
> select date_trunc('week',now())
"2013-09-09 00:00:00+02" // start of current week
> select date_trunc('week',now())-'1 s'::interval;
"2013-09-08 23:59:59+02" // end of previous week

因此,在日期运算符右侧使用date_trunc('week',now())-'1 s'::interval;应该可以。这是带有时区值的时间戳,实际上是星期天的23:59:59,但与UTC时间的时差为2小时,具体取决于您的语言环境和设置。

关于postgresql - 如何在PostgreSQL中截断日期?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18695350/

10-15 19:44