使用hibernate搜索Oracle日期类型列,按当天搜索所有内容 - 忽略时间

时间:2010-05-14 05:39:08

标签: database oracle hibernate datetime

      批量创建日期            

表格列类型是

BATCH_CREATED_DATE  DATE            NOT NULL

该日期栏中的数据类似于'2010-05-13 14:56:36.0'

现在我想在2010-05-13的24小时内搜索所有项目,目前我的电话只返回日期为“2010-05-13 14:56:36.0”的所有项目。

我的HQL语句在处理这种情况时会是什么样的?

2 个答案:

答案 0 :(得分:2)

根据您要通过的参数,我可以考虑几种解决方案:

  • 使用'2010-05-13 00:00:00.0''2010-05-13 23:59:59.9'

    from MyEntity e where e.date between :startDate and :endDate 
    
  • 使用'2010-05-13 00:00:00.0''2010-05-14 00:00:00.0'

    from MyEntity e where :startDate <= e.date and e.date < :endDate
    
  • 使用'2010-05-13 XX:XX:XX.X'

    from MyEntity e where year(e.date)  = year(:aDate) 
                      and month(e.date) = month(:aDate)
                      and day(e.date)   = day(:aDate) 
    

答案 1 :(得分:0)