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

How to query data based on a date using Fiscal Year on 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 year or Use TO_CHAR function to display the Fiscal Year)

找到了类似的答案

前三个月,你要上一年。 所以在你去年初之前减去三个月:

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')