我需要知道如何獲取Hibernate查詢結果集中日期範圍內的所有日期。在休眠日期範圍內獲取所有日期值
應該在SQL
選擇「所有日期」類似於下面的僞代碼的東西???? (date-val','format')和TO_DATE('date-val','格式')之間的日期爲 。
它可能需要一些不同的邏輯,但如果我給一個系列,如5月 - 2011年2日至2011年 它應該返回我的所有日期在該範圍在結果...... 即
結果集= 5-FEB-2011,6-FEB-2011,..... 28-FEB-2011,1日至2011年, 2日至2011年
更新: 下面的查詢是Oracle提供了所需要的結果集
select
d.dateInRange as dateval,
eventdesc,
nvl(td.dist_ucnt, 0) as dist_ucnt
from (
select
to_date('03-NOV-2011','dd-mon-yyyy') + rownum - 1 as dateInRange
from all_objects
where rownum <= to_date('31-DEC-2011','dd-mon-yyyy') - to_date('03-NOV-2011','dd-mon-yyyy') + 1
) d
left join (
select
currentdate,
count(distinct(grauser_id)) as dist_ucnt,
eventdesc
from
txn_summ_dec
group by currentdate, eventdesc
) td on td.currentdate = d.dateInRange order by d.dateInRange asc
Resultset:
Date eventdesc dist_cnt
2011-11-03 00:00:00 null 0
and so on..
2011-11-30 00:00:00 null 0
2011-12-01 00:00:00 Save Object 182
....
2011-12-31 00:00:00 null 0
你真的需要用Hibernate來做到這一點嗎?聽起來像是與持久性無關的Java邏輯工作。標準API [日曆](http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html)或[Joda Time](http://joda-time.sourceforge.net/ )都能很好地滿足要求。 –
我也可以使用Java,只是爲了清除這個目的,最後我想對此結果集進行左連接,使用範圍內的不同用戶數,按日期分組,以便記錄結果集中的所有日期(即使日期不計算在內) –