如何从postgresql中的周数获取周开始日期?

时间:2016-10-17 14:49:37

标签: sql postgresql

我有从20161到201640的所有周数。我想知道第31周的开始日期和结束日期。

如何在postgresql中编写查询来获取它?

2 个答案:

答案 0 :(得分:5)

要获取开始日期,只需使用to_date()

将周数转换为日期

如果您使用ISO week numbers,请使用:

select to_date('201643', 'iyyyiw');

否则使用:

select to_date('201643', 'yyyyww');

要获取结束日期,只需将7添加到生成日期:to_date('201643', 'iyyyiw') + 7

答案 1 :(得分:0)

SELECT date '2016-01-01' + interval '1 day' * ((7 - EXTRACT(DOW FROM DATE '2016-01-01')) + 29*7)     AS start_date,
       date '2016-01-01' + interval '1 day' * ((7 - EXTRACT(DOW FROM DATE '2016-01-01')) + 29*7 + 6) AS end_date,