这个问题可能有答案......但不适用于使用postgresql数据库的openbravo。
我有openbravo 3.0框架。在我的窗口中,我有两个日期字段,即fromdate和todate。要求是我必须编写一个hql where子句来根据当前日期过滤记录。日期字段是没有时区的时间戳。
表示 fromdate<的currentdate
和 todate> currentdate。
我浏览了这个link并将hql where子句写成
e.id in(从表名中选择s.id为s,其中s.fromdate< current_Date和s.todate> current_date)
当我打开此窗口时,我收到此错误
创建查询时的异常从表名中选择e为e where(e.id in(从表名中选择s.Tablename_ID作为s,其中s.fromdate<(current_date)和s.todate<(current_date)
但是如果我将当前日期条件删除为
e.id in(从表名中选择s.id为s)..它工作正常。
是因为current_Date函数吗?我甚至试过现在的功能......但是我得到了同样的错误。
答案 0 :(得分:0)
<强> !!!得到了错误。 在我写的查询中存在一个问题,在where子句中我选择的id是不正确的,因此当我给出以下查询时它运行正常。
(Tablename.fromdate&lt; currrent_date和TableName.todate&gt; current_date) current_date函数没有问题。
我想可能会对某人有所帮助!!!
提示:如果您想在openbravo中正确编写hql查询,请安装可供社区版openbravo免费使用的 Hql查询工具模块。
快乐编码