我试图找出日期是否在10个月之内。如果没有记录应该被忽略!该解决方案需要与HQL一起使用。我已经尝试了多个查询:
这个有效,但不是我想要的:
session.createQuery("FROM Application WHERE id="+id+" AND date < current_date()").getResultList();
这里的某些内容为空:
session.createQuery("FROM Application WHERE id="+id+" AND month(date) + (10-month(current_date()) < month(current_date())").getResultList();
“间隔”未知:
session.createQuery("FROM Application WHERE id="+id+" AND DATE_SUB(current_date(), INTERVAL 10 MONTH) < date").getResultList();
“月份”未知:
session.createQuery("FROM Application WHERE id="+id+" AND current_date()-10 month < date+").getResultList();
我没有更多的想法如何解决这个问题。希望有人可以帮助我。
谢谢!
答案 0 :(得分:0)
为什么不尝试这个......
static SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar date = Calendar.getInstance();
date.add(Calendar.MONTH, -10);
Date date1=date.getTime();
String newdate=datetimeFormat.format(date1);
Query query=session.createQuery("FROM Application a WHERE a.id="+id+" AND a.date <" + "'"+newdate+"'");
System.out.println(query.list().size());