Мне нужно получить фильм из базы данных PostgreSQL, которая соответствует заданному названию и дате выпуска. title - символ (75) и releaseDate - это дата. У меня есть этот код:Проблемы с датой, подготовленными, JDBC и PostgreSQL
String query = "SELECT * FROM \"Movie\" WHERE title = ? AND \"releaseDate\" = ?)";
Connection conn = connectionManager.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
java.sql.Date date = new java.sql.Date(releaseDate.getTime());
stmt.setString(1, title);
stmt.setDate(2, date);
ResultSet result = stmt.executeQuery();
но он не работает, потому что releaseDate не подходит, если это необходимо. Запрос SELECT * FROM "Movie" WHERE title = A_MOVIE AND "releaseDate"
= A_DATE отлично работает в командной оболочке с помощью Psql
Если 'releaseDate' является' java.sql.Date', почему скопировать его в 'date' перед вызовом' SETDATE() '? – trashgod
не java.sql.Date is java.util.Date – GuidoMB
Какой именно тип столбца SQL 'releaseDate'? Действительно ли это «дата»? Существует также временная метка. Какую версию PostgreSQL DB и версию драйвера JDBC вы используете? – BalusC