zoukankan      html  css  js  c++  java
  • 在DECIMAL(m,n)的设置中,整数的位数不能大于(m-n)

    关于DB2的DECIMAL类型

    创建表的时用的是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类型字段的时候,整数部分不是很准确,存在超过范围的情况,因此需要手动检查一下这些字段的定义。

  • 相关阅读:
    如何查看MySQL的当前存储引擎?
    转载mysql数据库配置优化
    redis教程
    基于 Android APP 安全测试流程
    移动APP安全测试
    自动化测试用例如何进行参数化
    分享一波免费的PPT模板下载网站
    UI自动化-滑块验证码识别 java版本
    安全测试博客汇总
    妙手回春——GRUB系统引导器恢复指南
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/3291421.html
Copyright © 2011-2022 走看看