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

在PostgreSQL中使用DATEADD函数获取周末日期,sql,postgresql,date-arithmetic,Sql,Postgresql,Date Arithmetic,我正在使用下面的代码查找sign_up_date的一周结束日期-我拥有的日期列 DATEADD(DAY, 7 - DATEPART(WEEKDAY, sign_up_date), CAST(sign_up_date AS DATE)) as weekend_date 此查询给出以下结果: 注册日期 周末约会 05-09-2012 2012年9月9日12:00:00上午 09-09-2012 2012年9月16日上午12:00:00 我觉得下面的代码更适合我 TO_DATE (sign_up_d

我正在使用下面的代码查找sign_up_date的一周结束日期-我拥有的日期列

DATEADD(DAY, 7 - DATEPART(WEEKDAY, sign_up_date), CAST(sign_up_date AS DATE))
as weekend_date
此查询给出以下结果:

注册日期 周末约会 05-09-2012 2012年9月9日12:00:00上午 09-09-2012 2012年9月16日上午12:00:00
我觉得下面的代码更适合我

TO_DATE (sign_up_date, 'IYYY-IW') as weekend_date
这让我得到了基于ISO的周末日期,这是我首先想要的。

DATEADD()不是PostgreSQL中的标准函数。您可以使用+添加一些时间间隔:选择当前日期+1;