??
decode(&&L2,null,'-',(&&L1/&&L2)*100||'%')

解决方案 »

  1.   

    我刚才试了下,语句存储时报错,说有invalid number,我把*100给删了,结果出现一长传,也许是除不尽,我添加round(&&L1/&&L2,2)结果报错不成功.请问有好的方法嘛?!
      

  2.   

    这是明显的表中的数据的问题.
    你只判断NULL,就不判断0了吗?
      

  3.   

    检查&&L1,&&L2这两列中是否有非数字的字符另:错误信息贴出来看看
      

  4.   

    错误提示:
    SQL 语句语法有错!
    ORA-01722:invalid number
      

  5.   

    应该是有无效字符,用trim去掉空格试试(如果没有看到确实不是数字的字符的话)
      

  6.   

    估计是里面用了相对地址符,而round之类的函数不支持相对地址符.后来改用数据直接用select查询取出,问题解决.谢谢各位热心解答.散分结贴