从一周中的日期中提取实际日期

时间:2018-04-18 11:26:10

标签: postgresql postgresql-9.4

我知道如何从日期中提取DOW。例如SELECT EXTRACT(DOW FROM '2018-04-23'::date)

但我怎么能做反过来呢?如何进行一系列的DOW并将它们转换为给定周的下一个日期? (相对于本周)。

+-----+---------+
| id  | the_dow |
+-----+----------
| 358 | 1       |
| 359 | 2       |
| 360 | 5       |
| 361 | 2       |
| 362 | 3       |
+-----+---------+

1 个答案:

答案 0 :(得分:1)

只需将该号码添加到一周的开头:

date_trunc('week', current_date)::date + the_dow

据我所知date_trunc()使用本周的ISO定义,因此第一天将是星期一。使用isodow提取和从该值中减去1会更容易。