如何获取日期:距离特定日期一个月?

时间:2017-08-08 19:14:13

标签: sql postgresql select

我知道我可以从今天开始接收日期,例如

  

选择CURRENT_DATE - INTERVAL' 1个月';

但如果我需要指定的第一个日期怎么办?像

这样的东西
  

选择' 2017-05-08 00:00:00' - INTERVAL' 1个月'?

我尝试了不同的东西,无法让它发挥作用。

2 个答案:

答案 0 :(得分:1)

您可以使用:

select '2017-05-08 00:00:00'::DATE - '1 month'::INTERVAL
                             /\
                              |
                              cast as date

<强> DBFiddle Demo

答案 1 :(得分:1)

'2017-05-08 00:00:00'是一个字符串文字。您需要将其转换为日期,例如,使用to_date

SELECT TO_DATE('2017-05-08','yyyy-mm-dd') - INTERVAL '1 months'
相关问题