hql的日期查询

项目中需要根据日期查询系统日志,数据库sql server
由于给定的日期格式是长时间格式:yyyy-MM-dd HH:mm:ss,
个人的方法:
1.将长时间格式转换为字符串yyyy-MM-dd HH:mm:ss;
2.截取得到日期部分,yyyy-MM-dd ;
3.使用sqlserver日期函数拼接hql语句:
------------------------------------------------
/**
   * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
   *
   * @param dateDate
   * @return
   */
  public static String dateToStrLong(java.util.Date dateDate) {
   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   String dateString = formatter.format(dateDate);
   return dateString;
  }
--------------------------------------------------
截取日期部分
------------
String sdate = (String) com.gdb.chattelmortgage.util.DateTool.dateToStrLong(sysLog.getDcreateDate()).subSequence(0, 10);
-----------
使用日期函数拼接hql语句
-----------------------
StringBuffer hqlWhere = new StringBuffer();
hqlWhere.append(" and dcreateDate between dateadd(day,0,'"+sdate+"')"+"  and dateadd(day,1,'"+sdate+"')");

实行后的hql 查询日期部分语句:
........ between dateadd(day, 0, '2009-06-30') and dateadd(day, 1, '2009-06-30')

当前应用是查询制定日期当天的数据。


原本想使用模糊查询,没有实现,有待进一步验证。
--end--

你可能感兴趣的:(hql的日期查询)