转,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://scyingshan.cn/article/hddpcd.html