代码之家  ›  专栏  ›  技术社区  ›  blank

如何在两个相同日期的查询之间使用EJBQL?

  •  1
  • blank  · 技术社区  · 16 年前

    我有一个名为jpa的查询,它接受两个日期,以便返回在两个日期之间有日期列条目的记录。

    如果我为开始日期和结束日期输入相同的日期,它将不返回任何行,即使有该日期的记录。

    是否有方法使查询工作,或者当两个日期相同时,我应该运行另一个查询?

    以下是问题:

    select o from CustomerOrder o 
    where o.orderDate between :date_from and :date_to 
    order by o.orderDate desc
    
    1 回复  |  直到 16 年前
        1
  •  4
  •   paxdiablo    16 年前

    我倾向于将我的所有查询运行为:

    select fld from tbl
    where date >= &start_date
      and date <= &end_date;
    

    我很少使用 between -无论使用哪种方法,我使用的DBMS都具有相同的性能。

    我的建议是做一些时间安排,看看是否有性能下降,以使用 where ... and 而不是 where ... between 如果没有,则切换。

    有些DBMS实际上排除了“端点”(第一个和/或最后一个),这可能就是您看到的。两个子句SQL语句不应该有这个问题。