11
回答
导出excel的问题
【寻找人气王】邀新用户免费体验华为云服务,百元话费等你拿!   

我在查询条件加上这句就报错,虽然不影响导出的结果,但后台出现异常

and c.INOUT_DATE >= TO_DATE(#queryFromDate#||' 00:00:00','YYYY-MM-DD hh24:mi:ss')

Cause: java.sql.SQLException: ORA-01843: not a valid month

请教下是为什么

举报
sdfsadfasd
发帖于8年前 11回/920阅
共有11个答案 最后回答: 3年前

就是我要导出excel,查询数据的sql有起始日期和结束日期,

and c.INOUT_DATE >= TO_DATE(#queryFromDate#||' 00:00:00','YYYY-MM-DD hh24:mi:ss')

  and c.INOUT_DATE <= TO_DATE(#queryToDate#||' 23:59:59','YYYY-MM-DD hh24:mi:ss')

这两个查询条件我只能写一个,有两个就报错

Cause: java.sql.SQLException: ORA-01843: not a valid month

不知道为什么这样

jasperreport

语句没问题,我在plsql都可以运行

但是在程序里就报错了,我去掉个日期的查询条件就可以

and c.INOUT_DATE >= TO_DATE(#queryFromDate#||' 00:00:00','YYYY-MM-DD hh24:mi:ss')
and c.INOUT_DATE <= TO_DATE(#queryToDate#||' 23:59:59','YYYY-MM-DD hh24:mi:ss')

这是两条语句,应该是没错的,但是就是不能同时出现,否则报错

刚才不小心解决了,将第一句改为救可以,但我就是不清楚为什么,结果应该是一样的啊?

and c.INOUT_DATE >= TO_DATE(#queryFromDate#,'YYYY-MM-DD')
and c.INOUT_DATE <= TO_DATE(#queryToDate#||' 23:59:59','YYYY-MM-DD hh24:mi:ss')

and c.INOUT_DATE >= TO_DATE(#queryFromDate#||' 00:00:00','YYYY-MM-DD hh24:mi:ss')
and c.INOUT_DATE <= TO_DATE(#queryToDate#||' 23:59:59','YYYY-MM-DD hh24:mi:ss')

and c.INOUT_DATE >= TO_DATE(#queryFromDate#,'YYYY-MM-DD')
and c.INOUT_DATE <= TO_DATE(#queryToDate#,'YYYY-MM-DD')

效果是一样的

但是不知在程序中为什么就有区别,我用的是jasperreport导出的,用下面的就不报错,的确是有区别

c.INOUT_DATE >= TO_DATE(#queryFromDate#,'YYYY-MM-DD')

去掉to_date直接把日期转换成String,比如05-5月-2012,05-12月-2012这样的格式,我也不知道为什么这样子就可以了。

顶部