【发布时间】:2016-10-07 09:07:23
【问题描述】:
我正在尝试在我的春季批处理阅读器中使用此 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']}'
latest.completed.start.time 的值来自使用 jdbctemplate 的 tasklet 的“07-Oct-16 12:38:58.000000109 PM”,因此 SQL 抛出以下错误: ORA-01858: 在需要数字的地方发现了一个非数字字符。
仅供参考,列 ces.PGM_BGN_DT 是日期类型。我尝试了 TO_DATE 函数,但没有帮助。请问有什么建议吗?
【问题讨论】:
-
latest.completed.startTime 的数据时间是多少?您对 TO_DATE() 做了什么尝试,请告诉我们。
-
@NghiaDo latest.completed.startTime 是一个时间戳值。我需要将它与日期的 pgm_bgn_dt 进行比较。问题是因为批处理在替换值并将其保留在单引号内后将其作为字符串。我用 to_timestamp 现在比较它。
-
@SabirKhan 感谢您的链接。它们非常有用。 :)
标签: oracle jdbc spring-batch