十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
select round(a/b,2) from table where c='T';
海口网站建设公司创新互联,海口网站设计制作,有大型网站制作公司丰富经验。已为海口成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的海口做网站的公司定做!
以上SLQ语句为,
从表table中查询符合c字段值为‘T’的值,
并将值a除以b,得到的结果如果包含小数,则保留两位小数点。
函数round(x[,y])介绍:
【功能】返回四舍五入后的值
【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。
【返回】数字
与此函数相近的函数是trunc(x[,y]) ,返回截取后的值,用法同round(x[,y]),只是不四舍五入
我以前做kpi的时候也遇到这种需求,非要在数据库里算出来
我的解决方案是大量设置视图,把每一种子计算都设为视图,就是说,数据库里会出现大量视图,但是每个计算都是原子计算
select (select count(*) as a from...)/(select count(*) as b from...
) from dual
声明 变量1 ,变量2,变量3
给变量1,2赋值
变量3 =变量1 /变量2
输出变量3
什么是整除?如果是5/3那么得数应该是1,你要的是1吧。
直接trunc就可以,如果还要余数,那么就是5%3就可以了。
1、基本加减乘车没有什么可说的,只需要注意一点,任何值与null一起运算 ,结果都为null,因为null代表着未知值,与null进行加减乘除运算得到的还是未知值,返回的结果还是null。
select 3+null ,3-null,3*null,3/null from dual --执行结果都是null
2、nvl和nvl2 空值置换函数
以前单独写过 ,这里不说了
3、abs 绝对值函数
select abs(2.1),,abs(-2.1) from dual--执行结果都是2.1
4、ceil 、 floor 这两个也比较简单啦
ceil 只入不舍函数
floor 只舍不入函数
select ceil(-2.6),ceil(2.6), floor(-2.6),floor(2.6) from dual
执行结果依次为 -2 3 -3 2