oracle语句中,某个段值想四舍五入,并且保留小数点的后2位,是否有函数可以直接写出来;
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle语句中,某个段值想四舍五入,并且保留小数点的后2位,是否有函数可以直接写出来;相关的知识,希望对你有一定的参考价值。
select bytes/1024/1024/1024 G from sys_order 查询出来的结果是17.256365,麻烦请帮我写出结果为17.26所用的方法来
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。
参考技术A select round(bytes/1024/1024/1024,2) G from sys_order如何使用 Oracle Round 函数 (四舍五入)
描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
参数:
number : 欲处理之数值
decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )
Sample :
select round(123.456, 0) from dual; 回传 123
select round(123.456, 1) from dual; 回传 123.5
select round(123.456, 2) from dual; 回传 123.46
select round(123.456, 3) from dual; 回传 123.456
select round(-123.456, 2) from dual; 回传 -123.46追问
嗯 非常好用 不过当数值为0.0268时,执行出来以后变成.03,能让它变成0.03吗?前面加上0的那种
追答lpad 补0
追问lpad 是添加string类型的,我现在求出的这些数都是数字不是字符串啊 所以我刚才试了试 还是不行 算出来根本不是我想要的结果。
本回答被提问者采纳 参考技术B 你的sql语句是错的,最后多了一个逗号sql可以在控制台输出检查对不对
参考技术C 你的sql语句是错的,最后多了一个逗号
sql可以在控制台输出检查对不对
参考技术D select round(bytes/1024/1024/1024,2) G from sys_order
Loadrunner 计算保留两位小数不四舍五入
有时候在测试过程中会截取返回值,当你截取的值不值最终的值,需要进行计算后才能使用并且需要保留两位小数,不进行四舍五入的计算;
此时 我使用了各种办法,但是最终我采用了一种最直接,最暴力的方法就是先乘后除,先变int后转floa。
Action()
{
float a = 2.8999;
float b;
b = ((int)(a * 100))/100.0;
lr_output_message("保留两位小数%.2f ",b);
return 0;
}
结果:保留两位小数2.89。以上为测试,下面的代码为脚本中调用:
Action()
{
double apple;
int apples;
web_reg_save_param("app",
"LB=app":",
"RB=,"breakValue"",
"Search=Body",
"Ord=1",
LAST);
apples= atoi(lr_eval_string("{app}"));
apple= 1.0 * apples/ 100000;
lr_output_message("获取值为%.2lf,",((int)(apple* 100))/100.0); //先取整再除以100
return 0;
}
这样将获取的值进行处理就变成了你需要的样式。
以上是关于oracle语句中,某个段值想四舍五入,并且保留小数点的后2位,是否有函数可以直接写出来;的主要内容,如果未能解决你的问题,请参考以下文章
Oracle数据库中的如何保留两位小数 并且在java中保留两位小说插入数据表中