0

这个问题可能有答案......但不适用于带有 postgresql 数据库的 openbravo。

我有 openbravo 3.0 框架。在我的窗口中,我有两个日期字段,即 fromdate 和 todate。要求是我必须编写一个 hql where 子句来根据当前日期过滤记录。日期字段是没有时区的时间戳。

表示从日期 < 当前日期

todate > currentdate 。

我浏览了这个 链接并将 hql where 子句写为

e.id in(从表名中选择 s.id 作为 s,其中 s.fromdate < current_Date 和 s.todate>current_date)

当我打开此窗口时,我收到此错误

创建查询时出现异常 select e from Tablename as e where ( e.id in(select s.Tablename_ID from Tablename as s where s.fromdate < (current_date) and s.todate < (current_date)

但是,如果我将当前日期条件删除为

e.id in(select s.id from Tablename as s).. 它工作正常。

是因为 current_Date 函数吗?.我什至尝试了现在的功能..但我得到了同样的错误。

4

1 回答 1

0

!!!得到错误。 我写的查询中有一个问题,在 where 子句中我选择了不正确的 id,因此当我给出以下查询时它运行正确。

(Tablename.fromdate < current_date and TableName.todate>current_date) current_date 函数没有问题。

我想可能对某人有帮助!!!

提示:如果您想在 openbravo 中正确编写 hql 查询,请安装 openbravo 社区版免费提供的Hql 查询工具模块。

快乐编码

于 2014-03-11T10:00:04.673 回答