需求

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

Oracle数据库字段保留3位小数,程序读出来显示4位小数的更多相关文章

  1. Oracle数据库字段类型说明

    目前Oracle 数据库大概有26个字段类型,大体分为六类,分别是字符串类型.数字数据类型.日期时间数据类型.大型对象(LOB)数据类型.RAW和LONG RAW数据类型.ROWID和UROWID数据 ...

  2. Oracle 数据库字段类型使用说明

    简介 目前Oracle 数据库大概有26个字段类型,大体分为六类,分别是字符串类型.数字数据类型.日期时间数据类型.大型对象(LOB)数据类型.RAW和LONG RAW数据类型.ROWID和UROWI ...

  3. oracle 数据库字段名与实体类字段名称不匹配的处理方法

    之前公司一直都使用sql server 即使数据库字段名称与实体类名称不相同 可以使用诸如: select id as userId from tb_user 这种写法,可换到了oracle 之后坑爹 ...

  4. java连接Oracle数据库实现增删改查并在Navicat中显示

    创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...

  5. Oracle数据库字段数据拆分成多行(REGEXP_SUBSTR函数)

    做多选功能时为了简便,会在某个字段中存储多个值,保存时虽然省事,但后续的查询统计时还需要拆分数据才行,因此这时需要将字段内的值分成多行以便后续使用. 下面这个例子实现了字段内数据的拆分: --创建测试 ...

  6. 修改oracle数据库字段类型,处理ORA-01439错误

    修改表PTLOG的列TYPE的char(1)为varchar(2)类型? 在PTLOG 表新增一列 TYPE_2:ALTER TABLE PTLOG ADD TYPE_2 VARCHAR2(2) de ...

  7. java对象属性为date oracle数据库字段为Timestamp 处理方式

    解决方案 SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date da ...

  8. 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。

    1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...

  9. ArcGIS 10.2 链接64位Oracle数据库

    https://my.oschina.net/zctzl/blog/909541 来自:https://blog.csdn.net/LoveCarpenter/article/details/5954 ...

随机推荐

  1. Django-利用Form组件和ajax实现的注册

    利用Form组件和ajax实现的注册 一.注册相关的知识点 1.Form组件 我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面 ...

  2. docker下搭建nginx

    一.拉取nginx镜像 # docker pull nginx 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像. 二.运行容器 以下命令使用 NGINX ...

  3. 【Linux】Linux(一)Linux常用命令

    一 命令行提示符 1.[root@localhost ~]# 当前登录用户@主机名:当前所在目录$ # 超级用户 $  普通用户 当前所在目录:~ 用户家目录 管理员 /root 普通用户 /home ...

  4. 在写微信小程序如何 首次编译的是当前写的页面

    首先点击顶部的编译如下图 染后点击添加模式哈 选择页面加载是启动的是哪一个页面

  5. python3启动子进程之 os.fork()

    python3启动子进程之 os.fork() 先了解python3 os.fork()  使用说明 在生物学家开始克隆研究之前,计算机科学家就拥有成功的克隆历史.他们克隆了进程,尽管他们没有将其称为 ...

  6. Linux服务器 上传/下载 文档/目录

    1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101 ...

  7. 深入理解equals和hashCode关系和区别

    为什么要说equals和hashCode这两个东西,一来是因为有不少小伙伴面试时被问过这个东西,二来则是因为如果了解了这两个东西的原理,那么实际的开发过程中,对效率和容错率上还是能帮上很大的忙! 直入 ...

  8. JS 浏览器BOM-->简介和属性

    1.简介: BOM:浏览器对象模型(Browser Object Model),是一个用于访问浏览器和计算机屏幕的对象集合.我们可以通过全局对象window来访问这些对象.  2.属性 window. ...

  9. Array(数组)对象-->lastIndexOf() 方法

    1.定义和用法 lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索. 语法: string.lastInde ...

  10. python3(二十九) orderClass

    """ """ __author__ = 'shaozhiqi' # Python的class中还有许多有特殊用途的函数,可以帮助我们定制类 ...