我正在尝试向查询中添加新的规范,我收到一个用于查询比较的字符串,例如02/2019,我需要将月份与数据库的时间戳进行比较以选择与同一月份对应的日期,现在我已经尝试过
String regist = '02 / 2019';
if (regist!= null && !"".equals(regist)) {
predicates.add(cb.equal(cb.function("MONTH", Integer.class, root.<Timestamp> get("fecbaja")), periodo(regist)));
}
和此函数来转换周期图:
private String periodo(Regist regist) {
String per = regist.toString().substring(0, 2);
if(per.length() > 1){
char c = '0';
String per1 = per.toString().substring(0,1);
char periodo = per1.charAt(0);
if(periodo == c) {
per = filter.getPeriodo().toString().substring(1,2);
}
}
return per;
}
该错误在查询中重现,因为我认为这不太正确,有什么建议吗?