如何动态地从jdbcTemplate更新SQL中的日期列?

时间:2017-05-17 05:39:28

标签: java sql jdbctemplate

我在表格中有一个数据类型为date的列。现在我需要从现有日期起30分钟更新列。

例如,如果现有日期/时间是04-APR-17 06.20.11.454000000 PM,我需要将30分钟添加到现有时间线04-APR-17 06.50.11.454000000 PM。

这应该在不选择当前日期的情况下完成。我发现的解决方案是

update table_name 
set column_name = 'SYSDATE - 30/1440';

但问题是我需要将此30分钟保持为动态,这意味着稍后我可以更改为40分钟,我将从属性文件更改。

有没有办法使用JDBC模板实现这一点,而不使用select语句,也没有更改代码(动态分钟)。

//更新: 可以从属性文件中读取分钟,并且coloumn_name sting可以从属性文件中连接。哪个可以实际传递给更新查询。这对我有用

2 个答案:

答案 0 :(得分:0)

你可以使用一个休眠30分钟的线程并调用你的SQL来更新时间。使用Joda Time可以更好地体验Java日期。

while(true){
org.joda.time.DateTime current_date= new org.joda.time.DateTime();
current_date=current_date.withMinuteOfHour(30).
// Call sql
update table_name set column_name=current_date;
Thread.sleep(Property.getProps(CONFIGURED_TIME)*60*1000);
}

答案 1 :(得分:0)

更新TABLE_NAME设置COLUMN_NAME = COLUMN_NAME + 10/1440;这就是我想要的。从现有列时间更新列时间