51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1937|回复: 4
打印 上一主题 下一主题

number(8)能表达的最大数字

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-3-20 16:36:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
PL/SQL语言中,一个变量类型为number(8),它能表达的最大数字是多少?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2020-8-11 08:18
  • 签到天数: 114 天

    连续签到: 1 天

    [LV.6]测试旅长

    5#
    发表于 2009-4-15 14:26:09 | 只看该作者
    看了上面那个以后我有个疑问
    如果是number(3)
    实际数据是999.9
    存到数据库里会不会出错。。。

    没oracle没法试验- -
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-8-11 08:18
  • 签到天数: 114 天

    连续签到: 1 天

    [LV.6]测试旅长

    4#
    发表于 2009-4-15 14:24:48 | 只看该作者
    以下内容转自:
    http://www.cublog.cn/u/19782/showart_207809.html

    NUMBER类型细讲:
    Oracle number datatype 语法:NUMBER[(precision [, scale])]
    简称:precision --> p
          scale     --> s

    NUMBER(p, s)
    范围: 1 <= p <=38, -84 <= s <= 127
    保存数据范围:-1.0e-130 <= number value < 1.0e+126   
    保存在机器内部的范围: 1 ~ 22 bytes

    有效为:从左边第一个不为0的数算起的位数。
    s的情况:
    s > 0
       精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
    s < 0
       精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
    s = 0
       此时NUMBER表示整数。  

    eg:
    Actual Data   Specified As  Stored As
    ----------------------------------------
    123.89           NUMBER         123.89
    123.89           NUMBER(3)     124
    123.89           NUMBER(6,2)   123.89
    123.89           NUMBER(6,1)   123.9
    123.89           NUMBER(4,2)   exceeds precision (有效位为5, 5 > 4)
    123.89           NUMBER(6,-2)  100
    .01234           NUMBER(4,5)   .01234 (有效位为4)
    .00012           NUMBER(4,5)   .00012
    .000127       NUMBER(4,5)   .00013
    .0000012      NUMBER(2,7)   .0000012
    .00000123     NUMBER(2,7)   .0000012
    1.2e-4           NUMBER(2,5)   0.00012
    1.2e-5           NUMBER(2,5)   0.00001
    123.2564      NUMBER        123.2564
    1234.9876     NUMBER(6,2)   1234.99
    12345.12345   NUMBER(6,2)   Error (有效位为5+2 > 6)
    1234.9876     NUMBER(6)     1235 (s没有表示s=0)
    12345.345     NUMBER(5,-2)  12300
    1234567       NUMBER(5,-2)  1234600
    12345678      NUMBER(5,-2)  Error (有效位为8 > 7)
    123456789     NUMBER(5,-4)  123460000
    1234567890    NUMBER(5,-4)  Error (有效位为10 > 9)
    12345.58      NUMBER(*, 1)  12345.6
    0.1           NUMBER(4,5)   Error (0.10000, 有效位为5 > 4)
    0.01234567    NUMBER(4,5)   0.01235
    0.09999       NUMBER(4,5)   0.09999
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2009-4-1 18:45:11 | 只看该作者
    8个9……
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
     楼主| 发表于 2009-3-20 16:38:23 | 只看该作者
    最大存储值99999999
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 08:45 , Processed in 0.075281 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表