hibernate hql 查询一周内每一天的数据总数
selectCOUNT(*)FROMActivityASaWHEREa.type=?andenter_date>='2013-4-5'这个能查询到4月5日后的,如果要查从...
select COUNT(*) FROM Activity AS a WHERE a.type =? and enter_date>='2013-4-5' 这个能查询到4月5日后的,如果要查从今天起的一周内的数据总数要怎么查呢?
展开
3个回答
展开全部
给你写了一个方法,你要向前一周参数填-7就可以获取日期了
/*
*@description 获得指定偏移量的日期
*@param int num 偏移的天数,正数向后移,负数向前移
*/
public String getDateStr(int num){
Calendar c = Calendar.getInstance();
c.roll(Calendar.DAY_OF_MONTH, num);
int year = c.get(Calendar.YEAR);
int month =c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
return String.valueOf(year) + '-' + String.valueOf(month) + '-' + String.valueOf(day);
}
/*
*@description 获得指定偏移量的日期
*@param int num 偏移的天数,正数向后移,负数向前移
*/
public String getDateStr(int num){
Calendar c = Calendar.getInstance();
c.roll(Calendar.DAY_OF_MONTH, num);
int year = c.get(Calendar.YEAR);
int month =c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
return String.valueOf(year) + '-' + String.valueOf(month) + '-' + String.valueOf(day);
}
展开全部
select count(*) from Activity a where a.type=? and a.enter_date between ? and ?
把日期参数传进去就行了,要查好长时间段都可以通过程序灵活设置
把日期参数传进去就行了,要查好长时间段都可以通过程序灵活设置
追问
enter_date 是datetime类型的,传入的值是2013-02-14这样,查询不到当天的,要怎么把数据库的时间改成能判断的格式
追答
传日期格式的参数啊,如果是字符型的,稍微转一下就OK了
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
sdf.parse(strDate)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想你的意思是:假如今天是周二那么我要查询 周二到周日的数据。我建议你可以写一个小的方法来判断今天是星期几。如果是星期一 则差向后六天的 星期二就向后五天 至此类推。。。 最好不要在sql这想办法。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询