忻州房屋出租:Oracle数据库字段保留3位小数,程序读出来显示4位小数

admin/2020-04-30/ 分类:科技/阅读:

需求

  项目需求从字段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哈哈~

,

阳光在线

阳光在线www.jiehuolou888.com(原诚信在线)现已开放阳光在线手机版下载。阳光在线游戏公平、公开、公正,用实力赢取信誉。

TAG:
阅读:
广告 330*360
广告 330*360

热门文章

HOT NEWS
Sunbet_进入申博sunbet官网
微信二维码扫一扫
关注微信公众号
新闻自媒体 Copyright © 2002-2019 Sunbet 版权所有
二维码
意见反馈 二维码