我在我的webApp中使用Struts2,JPA和MySQL。在我的表格中,我有两列startDate
和endDate
,我希望得到startDate
和endDate
之间的所有区域。例如,我有两个日期:
StartDate 2013-01-23
EndDate 2015-11-29
我想得到这个清单:
Jan 2013
Apr 2013
Jul 2013
Oct 2013
Jan 2014
Apr 2014
Jul 2014
......
......
......
Jul 2015
Oct 2015
我的目标是让所有人都进入选择列表。
Edite 1 :
开始我在phpmyadmin中处理此查询:
select listt from
(
SELECT CAST(SELECT `startDate` from tableA AS DATE) DateValue
UNION ALL
SELECT DATE_ADD(Q,1,DateValue) FROM listt WHERE DATE_ADD(Q,1,DateValue) < CAST(SELECT `endDate` from tableA AS DATE)
)
SELECT CONVERT(varchar(3), DATENAME(MONTH,DateValue))+ ' ' +Convert(varchar(4),DATEPART(YYYY,DateValue)) FROM listt OPTION (MAXRECURSION 0)
然后将此查询放在我的dao类中:
public List<Date> listDate() {
List<Date> pay = null;
try {
pay = session.createQuery("My query").list();
} catch (Exception e) {
e.printStackTrace();
}
return pay;
}