在 PostgreSQL 中使用 DATEADD 函数获取周末日期

Getting Week end date with DATEADD function in PostgreSQL

我正在使用下面的代码来查找 sign_up_date 的星期结束日期 - 我有一个日期列。

DATEADD(DAY, 7 - DATEPART(WEEKDAY, sign_up_date), CAST(sign_up_date AS DATE))
as weekend_date

这个查询给出了以下结果:

sign_up_date weekend_date
05-09-2012 09-09-2012 12:00:00 AM
09-09-2012 16-09-2012 12:00:00 AM

我有什么办法可以让 weekend_date 在周日结束,即 10-09-2012 12:00:00 上午。

或者以另一种方式使日期 09-09-2012 实际上得到 weekend_date 作为 09-09-2012

认为以下代码更适合我的目的。

TO_DATE (sign_up_date, 'IYYY-IW') as weekend_date

这让我得到了基于 ISO 的周末约会,这正是我最初想要的。