Spring批处理:SQL错误ORA-01858:在需要数字的地方发现了非数字字符



我试图在我的春季批处理阅读器中使用这个SQL。SQL似乎有问题:

select DISTINCT ces.COR_ENBL_STG_ID 
from HBX_BATCH_COR_ENBL_STG ces 
Inner JOIN HBX_INDV_NEG_ACTION ina ON ces.INDV_ID=ina.INDV_ID 
where ces.DISP_PROCESSED_FLAG='Y'  
AND ina.NEG_ACTION_RUN_RSN_CD in('11054','11055','11065') 
AND ces.PGM_BGN_DT+90<'#{jobExecutionContext['latest.completed.startTime']}'

最近完成的。start.time的值是'07-Oct-16 12:38:58.000000109 PM'从一个微线程使用jdbctemplate,因此SQL抛出以下错误:ORA-01858:一个非数字字符被发现在一个数字预期。

仅供参考,列显示。PGM_BGN_DT为日期类型。我尝试了TO_DATE函数,但它没有帮助。有什么建议吗?

据我所知,latest.completed.startTime -是一串字符。它看起来像oracle的时间戳数据类型。如果我的建议是正确的,你应该使用format将字符串转换为时间戳

to_timestamp(latest.completed.startTime, 'dd-mon-yy HH12:MI:SS.FF AM');

最新更新