Oracle保留小数点后两位的几种方法
-- 使用 to_char 函数转换,转换为字符串
创新互联专注于秀洲网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供秀洲营销型网站建设,秀洲网站制作、秀洲网页设计、秀洲网站官网定制、小程序开发服务,打造秀洲网络公司原创品牌,更为您提供秀洲网站排名全网营销落地服务。
select to_char(9.87552, 'fm9999999.00') from dual;
-- 四舍五入
select round(9.552, 2) from dual;
oracle语句中,某个段值想四舍五入,并且保留小数点的后2位,是不是有函数可以直接写出来;
1、ROUND(A/B,2)
ROUND()函数是会将计算结果进行四舍五入的,如果所需要的值需要进行四舍五入,就可以选择这个函数,可以有一个参数,也可以有两个参数;如果有两个param,第一个是你的计算表达式,第二个是需要保留的小数位数。
2、TRUNC(A/B,2)
TRUNC()函数是不会将计算结果进行四舍五入的,如果所需要的值不需要进行四舍五入,就可以选择这个函数,可以有一个参数,也可以有两个参数;如果有两个param,第一个是你的计算表达式,第二个是需要保留的小数位数。
3、TO_CHAR(A/B,‘FM99990.99’)
TO_CHAR()是一个格式化函数,第一个参数是计算表达式,第二个参数是指定格式化的格式,如果保留两位小数则小数点后写两个99,这里的数字9代表的数字,也是一个占位符。
表示该位置上以后会是一个数字,为什么小数点前面会是一个0,而不是9,是因为如果计算结果小于1,那么只会显示小数点和小数点之后的部分,前面的0会忽略掉。
扩展资料
Oracle的体系结构
一个Oracle数据库是一个数据单位的集合,只要目的是为了存储和读取信息。Oracle数据库可以分为逻辑结构和物理结构。
Oracle的逻辑结构是由一个数据库是又一个或多个表空间组成的,一个表空间由逻辑对象组成,一个逻辑对象由多个数据段组成,一个数据段由一批数据区间组成,一个数据区间由若干个连续的数据块组成,一个数据块对相应一个或多个物理块。
数据块数据库使用的I/O最小单元,又称为逻辑块或者ORACLE块。常用的大小为2KB或者4KB。
oracle如何用abs()处理后保留2位
方法一:使用to_char的fm格式
to_char(round(data.amount,2),'FM9999999999999999.00') as amount
不足之处是,如果数值是0的话,会显示为.00而不是0.00。
另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”。
解决方式如下:
select decode(salary,0,'0.00',(to_char(round(salary,2),'fm99999999999999.00'))) from can_do;
方法二:使用case when then else end进行各种情况的判断处理
case
when instr(to_char(data.amount), '.') 1 then
data.amount || '.00'
when instr(to_char(data.amount), '.') + 1 = length(data.amount) then
data.amount || '0'
else
to_char(round(data.amount, 2))
end as amount_format
方法三:可以使用Oracle自带的参数设置
column amount format l9999999999.99
此方法的不足是,format中的小数点左面的9的个数要已知,否则会出现超过的数字显示为########的情况。
另外一个问题是,使用column时,设置生效是session级还是system级,需要注意。
也许某张表的数值列不总是要求所有的地方显示时,都是小数点后两位的格式,此时只能使用session级,但是有个数据库连接会话超时的问题,如果不是使用到system级,不建议使用该方法。
分享名称:oracle如何取后两位 excel如何取前两位
本文来源:http://cqwzjz.cn/article/hhcoje.html