当前日期减去星期几

时间:2013-01-30 17:52:21

标签: sql postgresql

我有这个查询...我希望当前日期减去工作日以获取所有星期一的日期。但是因为current_date是一个日期而DOW是双倍的我得到一个错误

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

感谢

2 个答案:

答案 0 :(得分:2)

我在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)

答案 1 :(得分:0)

这是你想要的吗?

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

这将获得一周中第一天的日期。