oracle 中数值性型的都用number表示,你可以指明精度和长度

解决方案 »

  1.   

    number(8,2)  表示 8位整数,小数点后两位
    如果要整数 number(8)
      

  2.   

    谢了.
    我原本是这么想的,可这涉及位数的转换。int型的,假设它是4字节,32位了,这样最大值达到了
    1024*1024*1024*4-1。按照这种方法,int(4)在oracle中就表示成了Number(10)了。
    我的想法对吗?
      

  3.   

    如果存在这种问题,简单点做的话,干脆不要指定位数,直接使用number,oracle自己会处理的,反正指定了位数对于存储和效率都没什么提高
      

  4.   

    不对  int在oracle中转化为number(32)
      

  5.   

    gzhughie(hughie) 你那种说法是不是 sqlserver在向oracle导入时sqlserver自动指定的啊。我用的oracle几个版本 对于整型直接写number就可以了,这个问题也不是要求导入,而是相当于移植,对于sqlserver里面的int类型,oracle那种类型可以代替的。
      

  6.   

    如果你拿不定主意,就直接用number,如果希望不要浪费空间,完全对应,那么number(4)
      

  7.   

    很感激大家给出意见,不过依我个人的理解,NUMBER(4)与int(假设占有四个字节)是不对应的.
    我是这么理解的:
    NUMBER(4)是表示在十进制中的四位,而int(假设占四个字节)在十进制中最大可达到1024*
    1024*1024*4,所以要用NUMBER表示int(假设占四个字节)就是NUMBER(10)了。
    希望朋友们讨论一下,对这样问题。我想在实际开发中,类似的事件是有发生过的吧。
      

  8.   

    to dooby(德鲁比) :
    我告诉你的就是这个阿  SqlServer重的int的是32位的  所以对应oracle中是number(32),而且我做过测试,用int类型生成的oracle的数据类型就是number(32)。
      

  9.   

    number是以十进制格式存储,
    binary_integer,使用2的补码格式进行计算.
      

  10.   

    to gzhughie(hughie) :我的意思和你一样啊,对于oracle存储整数没有太大的必要去特定指定number的位数,最近参加的一次oracle的技术培训上,讲师专门说了对于存储空间和查询速度并没有多大提高,指定位数意义并不大。
      

  11.   

    这么说我直接用NUMBER表示即可了.
      

  12.   

    Number 6位整数!!!!!!