您的位置:首页 > 编程语言 > Java开发

java.sql.SQLException: ORA-01858: 在要求输入数字处找到非数字字符

2016-10-12 10:32 1216 查看
开发环境:SpringMVC、MyBatis、Oracle

今天写小组项目在插入这段代码的时候爆发了这个异常

INSERT
INTO TRAIN_DIRECTION
(TRAIN_DIRECT_ID,
ENTER_ID,
DIRECT_ID,
ADDRESS,
DIRECTION,
ATTACH_ID,
TRAIN_START_TIME,
TRAIN_END_TIME,
APPLY_YEAR,
APPROVAL_STATUS)
VALUES
(TRAIN_DIREACT_SEQ.NEXTVAL,2, 3, '', '','',
to_date('2016-05','yyyy-MM-dd HH24:mi:ss'),to_date('','yyyy-MM-dd HH24:mi:ss') , '2016', '0')


仔细检查int类型的字段和对应的bean的属性,发现没有问题呀,怎么会这样?后来发现自己在前台使用了Bootstrap的datetimepicker,传到后台的数据里,月份是 “十月”,如果这样对应to_date()中日期格式的MM肯定是有问题的,所以我修改了datetimepicker的format改成了下面这样:

format:’yyyy-mm-dd hh:ii:00’

这样一来,传到后台的月份就变得正常了。

我的问题虽然比较特殊,但是,这给我们排查此类错误一个提醒:在要求输入数字处找到非数字字符——也有可能是我们在使用数据库函数时,没有传入正确的参数,除了检查我们数据库表的字段还有bean的类型,大家一定要记得审查函数是否使用正确。

祝大家编程顺利,没有bug
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息