查询一条数据,根据用一个字段A来做为查询条件A字段类型为number,A字段的数字很大,在oracle中用科学计数来保存着,如:2.01012141802594E16 
我现在用 select * from table where A=2.01012141802594E16  查不出这条记录,请问怎能样去查,才能让条件获得这条记录.

解决方案 »

  1.   

    column a for 99999999999999999999999999999999.99999999999999999;select * from a;-- 看其显示还是不是科学记数!-- where 条件中,数值是不能用科学记数法的!
      

  2.   


    --你A字段定义的member有多长?精度多少?
    --在sqlplus里通过col colname format 999999999这样的格式修改方式来进行指定
    --比如:
    SQL>  col name for 9.99999999999999999999;
    SQL> select to_number('1234567890123') name from dual;                               NAME
    -----------------------------------
                  1234567890123.0000000--另外,记得好像有个参数来设置number超过多少为救要用科学计数法来表示的,不知道是不是numw参数,你可以试试show numw ,家里没环境不能测试
      

  3.   

    col a format 99999999999999999999999999999.999999999999999999