系统环境: 数据库:oracle 持久层:mybatis
主要原因是查询字段的日期格式和前台传过来的格式不一致导致的;
date为日期字段
select * from table where date>=to_date(#{date},'yyyy-MM-dd hh:mi');
解决方法:
1.修改数据库日期格式
这种情况下,前台传过来的date要求是日期类型。
点击查看修改oracle数据库日期格式
2.修改sql查询语句
这种情况下,前台传过来的date要求是字符串类型。
select * from table where to_char(date,'yyyy-MM-dd hh:mi')>=#{date};
3.在javabean上加上
@DateTimeFormat(pattern = “yyyy-MM-dd hh:mm:ss”)
private Date|String date;
注意:
to_date(date,pattern);是将字符串按指定的格式转为日期类型。
to_char(date,pattern);是将日期转为指定格式的字符串。
oracle 日期的分表示用 mi(hh:mi:ss)
java 中日期24小时表示: yyyy-MM-dd HH:mm:ss ----hh为12小时制
oralce 中日期24小时表示: yyyy-MM-dd HH24:mm:ss ----hh(HH)为12小时制