如何在Sqlite上使用Fiscal Year的日期查询数据

时间:2015-01-13 19:58:16

标签: sqlite android-sqlite

我正在为客户端修复Android应用程序,我需要查询sqlite数据库以显示他们需要的报告。

报告应仅显示当前会计年度的数据(从4月1日开始到3月31日结束)。以前的开发人员做了这个查询:

... WHERE sales_date BETWEEN date('now','localtime','start of year','+3 months') "
                       +  "AND  date('now','localtime','start of year', '+1 year', '+3 months','-1 day') "

此查询目前无效,因为例如在2015年1月,它显示了2015年4月至2015年3月的数据,其中应显示2014年4月至2015年3月的数据。

我正在为sqlite寻找一个优化的解决方案,因为我找到了其他SQL(Truncate date to fiscal yearUse TO_CHAR function to display the Fiscal Year)的类似答案

1 个答案:

答案 0 :(得分:1)

在前三个月,你想要前一年。 所以在你开始一年之前减去三个月:

BETWEEN date('now', 'localtime', '-3 months', 'start of year', '+3 months') "
    AND date('now', 'localtime', '-3 months', 'start of year', '+1 year', '+3 months', '-1 day')