【发布时间】:2015-08-06 10:07:04
【问题描述】:
我需要按两个日期过滤我的查询。当我使用 Oracle SQL Developer 或直接从 Eclipse 查询它时,这是有效的:
select * from TABLE where rechnungs_eingang >= '06.08.2012' AND rechnungs_eingang <= '06.08.2015')
但如果我尝试通过我用 Spring 4 实现的 web 服务获取数据,我会得到这个异常:
Caused by: org.springframework.dao.DataIntegrityViolationException: StatementCallback; SQL [select * from TABLE where rechnungs_eingang >= '06.08.2012' AND rechnungs_eingang <= '05.05.2014')]; ORA-01843: not a valid month
; nested exception is java.sql.SQLException: ORA-01843: not a valid month
这里发生了什么以及为什么发生?
【问题讨论】:
-
那个 SELECT 语句是你在 sql developer 中实际使用的那个吗?由于没有使用日期格式,我看不出它会如何工作。 rechnungs_eingang 是 DATE 列吗?
-
是的 - rechnungs_eingang 是一个日期列。它就像在 SQL Developer 中一样工作。