在要求输入数字处找到非数字字符
今天写的代码在点击地图上的点调查询窗体时,有时会报“在要求输入数字处找到非数字字符”的异常,有时则正常,研究的好一会才搞清楚是怎么加事
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 select B.RIVERSETID,RIVERNAME,riversetname,YEAR,MONTH,TEMP,ph,do,codmn,bod,nh,tp,cu,zn,f,se,hyd,cn,asen,hg,cr,pd,cd,oil,anion,so,coliform,cod,tn,output,firstcheck,secondcheck from W_RIVERSET b left join W_WATERQUALITY a on A.RIVERSETID=B.RIVERSETID left join W_RIVER c on b.riverid=c.riverid where 1=1
2 and b.riversetname like '%天湖水库%' and c.rivername='流溪河流域'
3 and to_date(year||'-'||month,'yyyy-mm')>=to_date('2010-06-15','yyyy-mm-dd')
4 and to_date(year||'-'||month,'yyyy-mm')<=to_date('2010-07-15','yyyy-mm-dd')
5
问题在于用left join讲到的year和month有时候会为空!所以才报在要求输入数字处找到非数字字符的异常!
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
select B.RIVERSETID,RIVERNAME,riversetname,YEAR,MONTH,TEMP,ph,do,codmn,bod,nh,tp,cu,zn,f,se,hyd,cn,asen,hg,cr,pd,cd,oil,anion,so,coliform,cod,tn,output,firstcheck,secondcheck from W_RIVERSET b , W_WATERQUALITY a , W_river c where b.riversetid=a.riversetid and A.RIVERSETID=B.RIVERSETID and b.riverid=c.riverid
and b.riversetname like '%天湖水库%' and c.rivername='流溪河流域'
and to_date(year||'-'||month,'yyyy-mm')>=to_date('2010-06-15','yyyy-mm-dd')
and to_date(year||'-'||month,'yyyy-mm')<=to_date('2010-07-15','yyyy-mm-dd')