Я пытаюсь удалить список раз, сохраненный в базе данных, где дата (end_time - timestamp) больше, чем мой контрольный день для конкретного сотрудника (employeeId - integer). Запрос отлично работает на pgAdmin III. Однако я не могу заставить его работать в JDBC. Это работает, но удаляет все от этого конкретного сотрудника, а не только даты, которые я хочу. Похоже, он игнорирует дату в предложении Where. Кроме того, я не получаю никаких исключений. Переменная nextDayTimestamp выглядит так: «2017-03-31 12:00:00.0». Кто-нибудь может помочь?
public void deleteBigListOfPeriodOfWorkFutureOnly(int employeeId, LocalDate referenceDate) {
Connection myConn = null;
PreparedStatement myStmt = null;
try {
myConn = dataSource.getConnection();
LocalDate nextDay = referenceDate.plusDays(1);
Timestamp nextDayTimestamp = Timestamp.valueOf(LocalDateTime.of(nextDay, LocalTime.NOON));
String sql = "delete from working_time where working_time.end_time > ? and employee_id = ?";
myStmt = myConn.prepareStatement(sql);
myStmt.setTimestamp(1, nextDayTimestamp);
myStmt.setInt(2, employeeId);
myStmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
CloseConnection.close(myConn, myStmt, null);
}
}
}
end_time
в вашей базе данных, метка времени или дата/время? - person Guillaume F.   schedule 01.04.2017