最近在做一个oracle8向oracle10的代码升级的工作,在oracle8中定义了一个varchar2(10)的字段hotel_tel,页面上输入123456789,插入数据库里的却是0123456789,难道不足10位的数据会自动补成10位?
请大家帮我分析一下,谢谢了。

解决方案 »

  1.   

    我现在的工作时把以前oracle8下的代码放到oracle10g下运行,然后比较两种环境下跑出的页面一直不一致。
    在两种环境下,我输入的都是123456789,insert到数据库里的却不一样,oracle8插入的是0123456789(不足了10位),oracle10下插入的是123456789。
    该字段的定义是:varchar2(10)。
      

  2.   

    可以说下具体怎么操作的吗?可以改过来的
    to_char(字段,'0000000000')  //不足的补0,就是会出现这样的 0123456789
    你改成
    to_char(字段,'9999999999')  //不足的不补可能的原因之1
      

  3.   

    就是简单的从页面上取到值,没有做任何处理,然后插入到数据库中,在oracle10g中没有出任何问题,输入什么就insert什么,但在oracle8中却给补0了(不足10位的不成10位)
    我是想知道是不是oracle8的bug
    不知道大家以前用过oracle8没有,我以前没用过,网上也查不到什么有用的资料。
    谢谢大家了~