我正在创建一个应用程序,我让用户输入他们的出生日期(年/月/日)。
我需要的是让记录取决于月份而不是年份。
例如:
1993年1月1日
1995年8月1日
30/01/2015
如果用户在两个日期之间搜索下一个出生日期
日期01/01/1993
日期01/10/1999
我需要先显示两条记录。
任何人都可以提供帮助。
答案 0 :(得分:0)
需要使用DATE_FORMAT和SqlRestriction。
String sqlWhere = " DATE_FORMAT( " + "{alias}.date_of_birth"+ ",'%m-%d') BETWEEN '" +
String.format("%02d", fromMonth) + "-" +
String.format("%02d", fromDate) + "' and '" +
String.format("%02d", endMonth) + "-" +
String.format("%02d", endDate )+ "'" ;
criteria.add(Restrictions.sqlRestriction(sqlWhere ) );