1

我有这个查询......我想让当前日期减去工作日来获取所有星期一的日期。但是由于 current_date 是一个日期并且 DOW 是 double 我收到一个错误

select extract(day from(current_date)) - extract(dow from current_date)

谢谢

4

2 回答 2

3

我在 9.2 中没有收到错误消息。无论如何,它会在本月的第一天失败:

select extract(day from '2013-02-01'::date) - extract(dow from '2013-02-01'::date);
 ?column? 
----------
       -4

正确的方法:

select date_trunc('week', '2013-02-01'::date);
       date_trunc       
------------------------
 2013-01-28 00:00:00-02
(1 row)
于 2013-01-30T18:08:29.777 回答
0

这是你想要的吗?

select extract(day from(current_date)) - extract(dow from current_date)

这将获取一周的第一天的日期。

于 2013-01-30T18:00:29.983 回答