2015-11-12 4 views
0

Какое правильное экранирование интервал в sql-заявлении?Java PreparedStatement set interval

В настоящее время у меня есть следующий код, который экранирует переменную CUSTOMERID:

final String query = "delete from login_history where time < current_timestamp - '" + days + " days'::interval and customer_id = ?"; 
PreparedStatement preparedStatement = connection.prepareStatement(query); 
preparedStatement.setInt(1, customerId); 
int deleted = preparedStatement.executeUpdate(); 

Но я также хочу, чтобы избежать дней.

ответ

6

Заменить "+ days +" с ?, измените setInt иметь 2 вместо 1 и добавить

preparedStatement.setWhateverTypeDaysIs(1, days); 
+1

Спасибо. 'time

+0

Ты волшебник! – Daria