我在 JasperSoft studio 中遇到 SQL 查询问题。我正在尝试从两个日期之间从 posgreSQL 数据库中获取记录。我使用这个语句:
SELECT spent_on FROM time_entries WHERE spent_on BETWEEN date '2014-01-01' AND date '2014-11-1' ORDER BY spent_on DESC
或更简单但有同样的问题:
SELECT spent_on FROM time_entries WHERE spent_on BETWEEN '2014-01-01' AND '2014-11-1'
也使用 < 和 > 以同样的方式结束。
used_on 列定义为:spend_on date NOT NULL。
当我在 pgAdmin 中运行此查询时,我得到了我希望收到的所有行,但是当我在 JasperSoft Studio 中尝试相同的语句时,我没有得到任何结果。
我发现当我将范围更改为:“在日期‘2012-01-01’和日期‘2014-11-1’之间”时,我可以获得一些行,而我得到的最后一个条目是从 2012-05-29 开始的。(数据库中的最后一个来自 2014-11-12)
Redmine 的数据库存储数据。
解决了
原因:Jaspersoft Studio 和 pgadmin 中使用了不同的模式。