我在用Java从数据库中计算值时遇到了一些麻烦。
我试图按日期从我的数据库中计算一些值,但是它们有小时,分钟和秒。如果我使用java.sql.Date
s进行搜索,则只允许我输入年,月和日,因此year"-"month"-31 (hour:minutes:seconds != 00:00:00)"
不会计算带有日期的值:
有没有办法增加小时,分钟和秒java.sql.Date
?如果没有,那会是更好的方法吗?
我的代码:
public static int getAmountPos(Connection con, Integer month, Integer year) {
java.sql.Date date1 = java.sql.Date.valueOf(year+"-"+month+"-01");
java.sql.Date date2 = java.sql.Date.valueOf(year+"-"+month+"-31");
Integer amount = null;
String sql = "SELECT COUNT(*) AS 'cantidad' "
+ " FROM table.point_of_service "
+ " WHERE registration_date between ? AND ?";
PreparedStatement ps = con.getPreparedStatement(sql);
ps.setDate(1, date1);
ps.setDate(2, date2);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
amount = rs.getInt("cantidad");
}
return amount;
}
本java.sql.Date
类不打算举行关于时间的信息。它只保留日期(年,月,日)。您应该使用java.sql.Timestamp
以满足您的需求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句