求oracle 数据库高手 围观 此问题: 执行下面代码 报此错误:ora-01722:无效数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求oracle 数据库高手 围观 此问题: 执行下面代码 报此错误:ora-01722:无效数字相关的知识,希望对你有一定的参考价值。
select '按日期统计',(T1.cost*1/T2.cost*1)*100 pct,ltrim(T1.cost)+'/'+ltrim(T2.cost)
cont from (select count(cm.policycode)cost from casetotalsummarize ctsm,casemessage cm
where ctsm.policycode = cm.policycode and ctsm.casenumber = cm.casenumber and ctsm.grade_hs='C'
and cm.way_hs='' and (cm.handledate_hs between date'2011-10-12' and date'2011-11-29')
and cm.link='核损') T1,(select (case when count(ctsm.policycode)=0 then 1 else count(ctsm.policycode)
end) cost from casetotalsummarize ctsm,casemessage cm where ctsm.policycode = cm.policycode and
ctsm.casenumber = cm.casenumber and ctsm.grade_hs='C' and (ctsm.handledate between date'2011-10-12'
and date'2011-11-29') and cm.link='核损') T2
这个T1.cost和T2.cost都是数值,但在第一行,却使用了ltrim函数,不对了:ltrim(T1.cost)+'/'+ltrim(T2.cost)
1、cost是数值不能使用ltrim函数;
2、数值相加可以,但不可以在数值中间加'/'字符 参考技术A 无效数字产生的原因是由于 将非数值型转化为数值型包错 才会报出 ora-01722:无效数字
的错误,请仔细查询你该SQL 中的字段值,就能找出哪有问题了追问
麻烦您具体说实在点好么 求您了 我实在是看不个所以然出来
参考技术B ltrim(T1.cost) + '/' + ltrim(T2.cost) contoralce中连接字符串用 ltrim(T1.cost) || '/' || ltrim(T2.cost) cont 参考技术C 这么多字才5点财富,你可以等待了
以上是关于求oracle 数据库高手 围观 此问题: 执行下面代码 报此错误:ora-01722:无效数字的主要内容,如果未能解决你的问题,请参考以下文章
oracle存储过程中参数datatable如何接收,求高手!
oracle带参数的存储过程,一直提示sql无效sql语句。求高手指点