zoukankan      html  css  js  c++  java
  • Oracle OCI22053: 溢出错误

    OCI-22053: 溢出错误

    原来sql语句如下:

     1 select avg(str.result_value),
     2        avg(str.result_value) + stddev(str.result_value) sd1,
     3        avg(str.result_value) + stddev(str.result_value) * 2 sd2,
     4        avg(str.result_value) - stddev(str.result_value) sd3,
     5        avg(str.result_value) - stddev(str.result_value) * 2 sd4
     6   from PDS_STUDY_PULL psp
     7   join pds_study ps
     8     on trim(ps.identity) = trim(psp.header)
     9   join SAMP_TEST_RESULT str
    10     on trim(str.id_numeric) = trim(psp.created_sample_id)

    解决办法:

    Oracle 数值数据类型最多可存储 38 个字节的精度。当将 Oracle 数值转换为公共语言运行库数据类型时,小数点后边的位数可能过多,这会导致此错误。

    使用round函数

    round(字段,精度)

    修改成如下sql

    修改后sql
     1 select round(avg(str.result_value), 2) avg,
     2        round(avg(str.result_value) + stddev(str.result_value), 2) sd1,
     3        round(avg(str.result_value) + stddev(str.result_value) * 2, 2) sd2,
     4        round(avg(str.result_value) - stddev(str.result_value), 2) sd3,
     5        round(avg(str.result_value) - stddev(str.result_value) * 2, 2) sd4
     6   from PDS_STUDY_PULL psp
     7   join pds_study ps
     8     on trim(ps.identity) = trim(psp.header)
     9   join SAMP_TEST_RESULT str
    10     on trim(str.id_numeric) = trim(psp.created_sample_id)
  • 相关阅读:
    10.28作业
    10.27作业
    10.26作业
    10.22作业
    10.20作业
    10.19作业
    10.16作业
    10.15作业
    10.14作业
    10.13作业
  • 原文地址:https://www.cnblogs.com/hfliyi/p/2826964.html
Copyright © 2011-2022 走看看