求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

(select (count(cm.policycode) cost ......) T1
这个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) cont

oralce中连接字符串用 ltrim(T1.cost) || '/' || ltrim(T2.cost) cont
参考技术C 这么多字才5点财富,你可以等待了

以上是关于求oracle 数据库高手 围观 此问题: 执行下面代码 报此错误:ora-01722:无效数字的主要内容,如果未能解决你的问题,请参考以下文章

oracle存储过程中参数datatable如何接收,求高手!

oracle带参数的存储过程,一直提示sql无效sql语句。求高手指点

oracle怎么排序不准啊?求高手解答

oracle 11g ORA 12505的问题,求高手啊

求高手能告诉我oracle数据库中两个相同的库,一个正式库,一个测试库,怎样把测试库的表和正式库连接起来

求oracle高手,存储过程中取游标值时,出现数据类型不一致问题,急急