我有从20161到201640的所有周数。我想知道第31周的开始日期和结束日期。
如何在postgresql中编写查询来获取它?
答案 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,