sql - ORA-01810: format code appears twice : jdbctemplate -
i playing around dates , query's jdbctemplate , getting below error.
// creating localdate object specific date & time localdate date = localdate.of(localdate.now().getyear(), localdate.now().getmonth(), localdate.now().getdayofmonth()); system.out.println("date $$$$$$$$$$$" +date); localdatetime datetime = date.attime(localtime.max); system.out.println("datetime " +datetime); // not required since above steps same. datetime.withhour(23).withminute(59).withsecond(59); system.out.println("datetime " +datetime); datetimeformatter formatter = datetimeformatter.ofpattern("yyyy-mm-dd hh24:mm:ss"); system.out.println("formatter" +datetime.format(formatter)); return jdbctemplate.queryforobject("select count(*) test status in ('active','active_p') , created<to_date('"+datetime.format(formatter)+"','yyyy-mm-dd hh24:mm:ss')",integer.class);
this output
date $$$$$$$$$$$2017-08-20 datetime 2017-08-20t23:59:59.999999999 datetime 2017-08-20t23:59:59.999999999 formatter2017-08-20 1124:59:59 2017-08-20 01:53:00.029 info 12604 --- [pool-1-thread-1] com.zaxxer.hikari.hikaridatasource : hikari-subscription - started. 2017-08-20 01:53:00.034 warn 12604 --- [pool-1-thread-1] com.zaxxer.hikari.util.driverdatasource : registered driver driverclassname=oracle.jdbc.driver.oracledriver not found, trying direct instantiation. 2017-08-20 01:53:00.949 info 12604 --- [pool-1-thread-1] com.zaxxer.hikari.pool.poolbase : hikari-subscription - driver not support get/set network timeout connections. (oracle.jdbc.driver.t4cconnection.getnetworktimeout()i) 2017-08-20 01:53:02.190 info 12604 --- [pool-1-thread-1] o.s.b.f.xml.xmlbeandefinitionreader : loading xml bean definitions class path resource [org/springframework/jdbc/support/sql-error-codes.xml] 2017-08-20 01:53:02.274 info 12604 --- [pool-1-thread-1] o.s.jdbc.support.sqlerrorcodesfactory : sqlerrorcodes loaded: [db2, derby, h2, hsql, informix, ms-sql, mysql, oracle, postgresql, sybase, hana] 2017-08-20 01:53:02.283 error 12604 --- [pool-1-thread-1] o.s.s.s.taskutils$loggingerrorhandler : unexpected error occurred in scheduled task. org.springframework.dao.dataintegrityviolationexception: statementcallback; sql [select count(*) test status in ('active','active_p') , created<to_date('2017-08-20 1124:59:59','yyyy-mm-dd hh24:mm:ss')]; ora-01810: format code appears twice ; nested exception java.sql.sqldataexception: ora-01810: format code appears twice @ org.springframework.jdbc.support.sqlexceptionsubclasstranslator.dotranslate(sqlexceptionsubclasstranslator.java:82) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release] @ org.springframework.jdbc.support.abstractfallbacksqlexceptiontranslator.translate(abstractfallbacksqlexceptiontranslator.java:73) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release] @ org.springframework.jdbc.support.abstractfallbacksqlexceptiontranslator.translate(abstractfallbacksqlexceptiontranslator.java:81) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release] @ org.springframework.jdbc.core.jdbctemplate.execute(jdbctemplate.java:419) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release] @ org.springframework.jdbc.core.jdbctemplate.query(jdbctemplate.java:474) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release] @ org.springframework.jdbc.core.jdbctemplate.query(jdbctemplate.java:484) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release] @ org.springframework.jdbc.core.jdbctemplate.queryforobject(jdbctemplate.java:494) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release] @ org.springframework.jdbc.core.jdbctemplate.queryforobject(jdbctemplate.java:500) ~[spring-jdbc-4.3.10.release.jar:4.3.10.release]
can let me know going wrong. see in logs query gets printed
and created<to_date('2017-08-20 1124:59:59','yyyy-mm-dd hh24:mm:ss')
1124, think problem whatever do, not able remove 11.
1) must change :mm: :mi: in format mask:
select to_date('2017-08-20 23:59:59','yyyy-mm-dd hh24:mi:ss') dual
2) after must edit hours section.
Comments
Post a Comment