JDBC中sql都是分号“;”惹的祸

本文详细介绍了在使用JDBC执行SQL语句时遇到的常见错误,即在SQL语句末尾添加分号导致的ORA-00911:无效字符 异常。同时,文章还提到了如何处理translate函数结果为空时ResultSet next()方法返回null的情况,并提供了避免此类问题的方法。

  工号问题,用jdbc执行“SELECT max(to_number(translate(trim(substr(c_code,instr(c_code,'9'))),'0123456789'||trim(substr(c_code,instr(c_code,'9'))),'0123456789') ,'9999999999999999999'))FROM tb_inf_employee;”的时候报错

  程序提示:"java.sql.SQLException: ORA-00911: 无效字符 \t"异常。查了半天sql语句肯定没问题。后来上网一搜,原来在sql结束时加了‘;’,jdbc访问数据库,要求执行的sql语句结尾不能有分号的,都是分号惹的祸啊。

  另外,上面的语句如果translate的结果为''则ResultSet的next()的getString方法返回的是null不是“”空字符串,在程序中要额外判断。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值