已经建好的数据库表修改某字段保留两位小数

已经建好的数据库表修改某字段保留两位小数,第1张

可以修改数据类型:

alter table 表 alter column 字段 numeric(精度,2)

只用update是不行的。

其实为了数据的准确,你完全没有必要修改,有两个办法:

1.每次检索数据时用round函数取两位小数

2.做一个视图,用round函数取两位小数。

1、创建测试表,

create table test_num(id number, value number)

2、插入测试数据

insert into test_num values(1,15)

insert into test_num values(2,13)

insert into test_num values(3,13.2325)

insert into test_num values(4,15.7681)

commit

3、查询表中数据,select t.*,rowid from test_num t

4、编写sql,保留2位小数,如果整数 后面补0;

select t.*,

     case

       when not regexp_like(round(value, 2), '\D') then

        round(value, 2) || '.00'

       else

        to_char(round(value, 2))

     end as value2

from test_num t

1、创建测试表,

create table test_replace_num(id number, value number)

2、插入测试数据;

insert into test_replace_num values(1,4.9528)

insert into test_replace_num values(2,3.8821)

insert into test_replace_num values(3,41.2287)

insert into test_replace_num values(4,18.1675)

commit

3、查询表中全量数据;select t.*, rowid from test_replace_num t

4、编写语句,将value字段更新为只保留两位小数;

 update test_replace_num set value = round(value,2)

 commit

5、再次查询表中全量数据,发现vlaue只保留两位小数;

 select t.*, rowid from test_replace_num t


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10826827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存