我需要从Oracle中删除一些使用生日作为Java标准的用户。
Oracle中的表:
create table users{
..
birthday DATE not null,
...
}
存储的数据看起来像:
user1, 17.03.1976
user2, 28.09.1968
我现在需要使用JDBCTemplates删除数据(birthday由相关框架提供为java.util.Date)
private void deleteUser(java.util.Date birthdayUtil)
{
java.sql.Date birthday = new java.sql.Date(birthdayUtil.getTime());
String sql = "DELETE FROM USERS WHERE birthday = ?";
jdbcTemplate.update(sql, birthday);
}
但是,不会删除任何数据,即使日期已正确设置为数据库中可用的值。
有什么想法吗?
1条答案
按热度按时间hyrbngr71#
请检查Oracle数据库中的生日字段。
如果在Oracle数据库中将字段创建为时间戳,则必须使用时间范围。
注意,这是Scala代码,但它应该与Java类似。
//扩展字段以包含时间:
或者创建两个LocalDateTime-Fields。
// SQL -生日必须在两个时间戳之间:2019 - 09 - 28 00:00:00