oracle怎么处理小数,oracle 小数位数

转,Oracle中关于处理小数点位数的几个函数,取

ROUND:四舍五入

成都创新互联公司专业为企业提供额尔古纳网站建设、额尔古纳做网站、额尔古纳网站设计、额尔古纳网站制作等企业网站建设、网页设计与制作、额尔古纳企业网站模板建站服务,10余年额尔古纳做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

select ROUND(20.2183, 2) from dual; -- 20.22

TRUNC:截位

select TRUNC(20.2183, 2) from dual; -- 20.21

oracle 保留小数问题

数据类型定义一下,例如number(p.s)

数据的总位数是p

对s分2种情况:

1. s0

精确到小数点右边s位,并四舍五入。然后检验有效数位是否=p;如果sp,小数点右边至少有s-p个0填充。

2. s0

精确到小数点左边s位,并四舍五入。然后检验有效数位是否=p+|s|

123.2564 NUMBER 123.2564

1234.9876 NUMBER(6,2) 1234.99

12345.12345 NUMBER(6,2) Error

1234.9876 NUMBER(6) 1235

12345.345 NUMBER(5,-2) 12300

1234567 NUMBER(5,-2) 1234600

12345678 NUMBER(5,-2) Error

123456789 NUMBER(5,-4) 123460000

1234567890 NUMBER(5,-4) Error

12345.58 NUMBER(*, 1) 12345.6

0.1 NUMBER(4,5) Error

0.01234567 NUMBER(4,5) 0.01235

0.09999 NUMBER(4,5) 0.09999

number(10,2)就是总共10位数,并精确到小数点后两位。希望对你有帮助。

oracle数据库怎么把小数转换为百分数?

先将数据转换为numeric类型,保留4位小数点,由零点几变为百分号前边的数字,再转换为varchar类型,然后再加'%'

如:

select ml as 毛利,sshje as 实收金额,

cast(cast(ml/sshje as numeric(4,4))*100 as varchar(20)) + '%' as 利润率

from chasalldayhz


分享文章:oracle怎么处理小数,oracle 小数位数
分享路径:http://myzitong.com/article/hddpcd.html