테이블에 데이터 형식이 date
인 열이 있습니다. 이제 기존 날짜에서 30 분으로 열을 업데이트해야합니다.jdbcTemplate에서 SQL의 날짜 열을 동적으로 업데이트하는 방법은 무엇입니까?
예를 들어, 기존 날짜/시간이 04-APR-17 06.20.11.454000000 PM 인 경우 기존 시간 라인 04-APR-17 06.50.11.454000000 PM에 30 분을 추가해야합니다.
현재 날짜를 선택하지 않아야합니다. 내가 찾은 해결책은
update table_name
set column_name = 'SYSDATE - 30/1440';
이었다 그러나 문제는 나중에 내가 속성 파일에서 변경할 것이다 40분에 변경 될 수 있습니다 즉, 동적이 30 분 유지할 필요가있다.
select 문을 사용하지 않고 코드를 변경하지 않고 JDBC 템플릿을 사용하여이를 수행 할 수있는 방법이 있습니다 (동적 분의 경우).
이 값은 현재 시스템 시간에서 30 분을 업데이트하는 데 사용할 수 있습니다. 그러나 요구 사항은 열에있는 기존 시간을 선택하지 않고 업데이트하는 것입니다. 그래서 나는 ** "update table_name set column_name = 'SYSDATE - 30/1440';"**을 사용했습니다. 여기서 30/1440 값은 동적으로 쿼리에 전달되어야합니다. 그것은 jdbcTemplate –
에서 일어나지 않습니다. jdbcTemplate을 사용한다면 jdbcTemplate.update ("update table_name set column_name = SYSDATE -"+ variable);를 사용할 수 있습니다. –
시도하고 잘못된 ResultSet 액세스 예외가 있습니다. 하지만 SQL 개발자로부터 업데이트하려고 할 때 업데이트되고 있습니다. org.springframework.jdbc.InvalidResultSetAccessException : PreparedStatementCallback; SQL에 대한 잘못된 ResultSet 액세스 [update table_name set column_name = SYSDATE - 30/1440]; 중첩 예외는 java.sql.SQLException입니다. 잘못된 열 인덱스 \t at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate (SQLErrorCodeSQLExceptionTranslator.java:235). –