当前位置: 代码迷 >> Oracle管理 >> 关于oracle 乘法的判断有关问题 .
  详细解决方案

关于oracle 乘法的判断有关问题 .

热度:24   发布时间:2016-04-24 04:32:59.0
关于oracle 乘法的判断问题 在线等...
select * from text_import where (cj1*cy1+ck1*cy1+cl1*cy1+cm*cy+cn1*cy1)<>cz1 

几个字段都是varchar2类型

报错为无效数字  这是为什么呢?
oracle select

------解决方案--------------------
引用:
select * from text_import where (cj1*cy1+ck1*cy1+cl1*cy1+cm*cy+cn1*cy1)<>cz1 

几个字段都是varchar2类型

报错为无效数字  这是为什么呢?


因为你的某一列里面含有非数字的值,比如空格,或者字母,或者逗号等等....
------解决方案--------------------
没一个字段都改成to_number(..)试试
------解决方案--------------------
引用:
Quote: 引用:

select * from text_import where (cj1*cy1+ck1*cy1+cl1*cy1+cm*cy+cn1*cy1)<>cz1 

几个字段都是varchar2类型

报错为无效数字  这是为什么呢?


因为你的某一列里面含有非数字的值,比如空格,或者字母,或者逗号等等....


+1 to_number
------解决方案--------------------
直接转换成数值型 肯定还是报错

问题的根源是  表中含有不是数字的字符串 这个需要怎么解决 是直接过滤 还是删除 还是把这些字段更新
 
------解决方案--------------------
引用:
select * from text_import where (cj1*cy1+ck1*cy1+cl1*cy1+cm*cy+cn1*cy1)<>cz1 

几个字段都是varchar2类型

报错为无效数字  这是为什么呢?


字符串只准是不允许 ++ -- 的,除非你的字符串为 ‘纯数字',不能含空格等等其他字符类型的。仔细检查下。
------解决方案--------------------
数据问题,与sql无关
  相关解决方案