涉及公式计算时的取巧办法

3 篇文章 0 订阅
2 篇文章 0 订阅

项目的开发过程中,经常会碰到根据公式计算某值的场景,例如:

 

指标A:公式为((a+b)/c-d)*100%

 

指标B:公式为(a-b/c)*100%

 

指标C:公式为(a-c)*b-1

 

其中a、b、c、d为业务数据

 

通常这种情况,如果放到java或者js中进行计算的话,方法或者函数的传入参数必然是包括公式和因子

 

方法体中不可避免的要进行公式的解析和因子的代入替换,这是一项非常复杂的工作

 

其实,我们完全可以根据数据库SQL的特性来进行处理

 

如下图:

 

指标 A B C D 公式结果
指标A10432155 ((a+b)/c-d)*100%
 
指标B26233327 (a-b/c)*100% 
指标C17193522(a-c)*b-1 

 

将ABCD等因子的值插入到表中,公式也插入到表中

 

计算结果:SELECT ((a+b)/c-d)*100% FROM 表X WHERE 指标=指标A

 

这样,可以将公式的计算交给数据库的后台进行,而避过公式解析和代入的复杂过程

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值