要将Sqlserver上的数据迁移到oracle看,但有一些疑问还望高手指点下:
sqlserver中的字符型数据和oracle中的是一一对应吧,因为都表示的字节。那sqlserver中的int(4)对应oracle中的number(10)吗,(网上有人这样说),但有人说要用公式len=floor((p+1)/2)+1;根据这公式算,当len=4时,p似乎不等于10啊;
还有个问题,当有小数点时,number(10,3)和double怎么对应,是用上面的公式吗
望高手指点下,谢谢!

解决方案 »

  1.   

    int(4),只要定义一个Oracle的number,有存储下现有数据即可,没必要详究啊。当有小数点时,number(10,3)和double怎么对应:定义number(10,3)即可啊,也可以存储带小数的浮点数。
      

  2.   

    定义成 number 类型就可以解决了
      

  3.   

    似乎double和Oracle(8.3)并不是完全对应的啊,sqlserver表示字节,而number则表示位数
      

  4.   

    number太大,不利于空间利用吧
      

  5.   

    直接number  ,number不是固定长度的。  
    至于空间,估计跟varchar2一样的吧。
      

  6.   


    number默认情况下,精度为38位,取值范围1~38之间
    它实际上是磁盘上的一个变长类型,会占用0~22 字节的存储空间。
    只知道默认小数点位是0,