zoukankan      html  css  js  c++  java
  • Oracle数据库字段保留3位小数,程序读出来显示4位小数

    需求

      项目需求从字段2位小数改成3位小数,这事儿好办,数据库噼里啪啦敲了一行代码,发现居然报错,原因是不能直接修改字段精度问题,然后使用了冒泡排序,搞定

    --新增临时字段
    alter table Real_Proj_Section add WEIGHT2 number(10,3);
    --将原字段内容拷贝至新字段
    UPDATE Real_Proj_Section SET WEIGHT2=WEIGHT
    --删除原先字段
    alter table Real_Proj_Section drop column WEIGHT
    --新增原先字段
    alter table Real_Proj_Section add WEIGHT number(10,3);
    --给原先字段加备注
    comment on column  Real_Proj_Section.Weight is '分段重量'
    --将临时字段内容拷贝至原先字段
    UPDATE Real_Proj_Section SET WEIGHT=WEIGHT2
    --删除临时字段
    alter table Real_Proj_Section drop column WEIGHT2

    遇到问题

      可以是到前台显示就出现问题了,数据库中明明保留的是3位小数前台显示的时候,会显示4位小数后面多一个“0”

    数据库字段,显示也是3位小数

    问题思考与解决

      刚开始以为程序的问题调试过程中,发现返回DataTable中,这个值就多个“0”,感觉应该是精度丢失问题,然后百度查,发现之前有人也碰到过此问题一直没人解决(也没人回答,帖子没结),能试过的方法都试过了,后来没辙了,都打算放弃治疗了。晚上睡上一觉,第二天醒来后,脑海中冒出一个新想法,将字段转字符串试试看呗,死马当活马医,后台sql改为前面加TO_CHAR

    SELECT TO_CHAR(WEIGHT) WEIGHT FROM Real_Proj_Section WHERE SPS_ID=    272262

    搞定~

      人生还是得经得起折腾,O(∩_∩)O哈哈~

  • 相关阅读:
    Chrome 控制台console的用法[转]
    Page Visibility(页面可见性) API介绍、微拓展[转]
    移动端rem单位用法[转]
    JavaScript继承方式详解[转]
    说说React
    Flex 布局教程:语法篇[转]
    git 常用命令总结
    Supervisor 在ubuntu系统下添加自启动
    Django 通过APNS推送消息
    通过 python-xmp-toolkit 读取图片xmlp信息
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/12806767.html
Copyright © 2011-2022 走看看