zoukankan      html  css  js  c++  java
  • DB2的DECIMAL类型

    转载: http://shenmin1984.javaeye.com/blog/721466

    创建表的时用的是DECIMAL(13,2),我认为它为13个整数位数+2为有效数字,因为在打印银行交易的FORM时遇到了难题。输出和建表的长度不一样,我们以为它会打印出15为长度(13位整数+2位有效数字),但是却遇到了难题。

             经过我们的近一个小时的讨论与时间,可以看出,在DECIMAL(13,2)的数据库的插入时,我们首先输入的数据为1234567890123.99,数据库报出错误:长度超出了规定长度。

              我们在此基础上有删除一个整数位,123456789012.99,结果还是报长度超出了范围,经过我们的查找资料,得到了一初步的认证,就是整数位+小数位一共为13位,因为在1234567890.99的数据插入中结果成功。

              于是我们又试验了1234567890.999,结果显示插入成功,打开数据库中发现了插入的数据在数据库中保存的数据为1234567890.99将第三位小数位给截断。

              我们得到了最后的结论,在DECIMAL(m,n)的设置中,整数的位数不能大于(m-n),但小数位可以大于n,但会从大于n的有效位开始截断。

    同时也解决了用datafactory插入数据时超过范围的问题,因为我感觉datafactory的自定义DECIMAL类型字段的时候,整数部分不是很准确,存在超过范围的情况,因此需要手动检查一下这些字段的定义。

  • 相关阅读:
    在一个页面用Ajax访问另一个页面弹出询问框怎么办
    还有一张呢
    系统相关信息查看
    linux dd 命令使用说明
    Github 使用说明
    Hadoop HA 资料
    fedora 在virtualbox安装guest additions
    git 使用记录
    linux console 小技巧
    Agent admitted failure to sign using the key 错误及解决方法
  • 原文地址:https://www.cnblogs.com/sophine/p/2471124.html
Copyright © 2011-2022 走看看