我正在尝试查明该日期是否在 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();
我没有更多的想法如何解决这个问题。希望有人可以帮助我。
谢谢!
最佳答案
你为什么不试试这个...
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());
关于mysql - Hibernate 查询比较日期(最多过去 10 个月),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38995737/