Sql 一年后删除Derby行
我想检查Derby数据库中最旧的记录,看看它是否超过一年。。。。然后删除此记录。我的代码不适合我Sql 一年后删除Derby行,sql,delete-row,Sql,Delete Row,我想检查Derby数据库中最旧的记录,看看它是否超过一年。。。。然后删除此记录。我的代码不适合我 LocalDate now = LocalDate.now(); LocalDate oneYearOld = now.minusDays(365); System.out.println( "now: " + now ); System.out.println( "OneYearOld: " + one
LocalDate now = LocalDate.now();
LocalDate oneYearOld = now.minusDays(365);
System.out.println( "now: " + now );
System.out.println( "OneYearOld: " + oneYearOld);
System.out.println( "SQL Date: " + sqlDate);
PreparedStatement stmtB = con.prepareStatement("DELETE FROM TEST5 WHERE 'DateDate' > 'oneYearOld'");
stmtB.executeUpdate(); // Deletes any call record over one year old
最佳做法是为一年前的值使用一个参数,并将其传递给查询。使用此网站作为指南好的。。。。但这就是我准备好的语句不起作用的原因吗?您正在向sql查询传递一个名为“oneYearOld”的字符串。那不是日期,是字符串。您需要传递日期变量。