本文介绍了获取上个月的数据,从火鸟的第一天到最后一天的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试查询Firebird以获取上个月的数据,从第一天到最后一天(30或31取决于月份)。当我使用下面的代码时,它会给我提供从当前日期到2017年12月13日的转换日期。

代码:

WHERE DATE >= DATEADD(MONTH,-1, CURRENT_TIMESTAMP(2)) AND DATE<= 'TODAY'

预期产量为2017年1月11日-2017年11月30日

正确的做法是什么?

推荐答案

我不使用火鸟,但我已经相当广泛地使用了PostgreSQL,我认为这应该可以奏效:

WHERE 
    DATE BETWEEN dateadd(month, -1, CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE) + 1)
    AND CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE)

说明CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE) + 1应该返回到本月的第一个月,dateadd带-1个月应该返回到上一个月。然后,如果你在CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE)之间,或者换句话说,12/13/2017-13天,那应该是11月的最后一天。祈祷我的手指。祝你好运。

这篇关于获取上个月的数据,从火鸟的第一天到最后一天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 15:56