事情是这样的,我最近在用sql处理一个问题:写一个sql函数,处理这样一系列的字符串
100(500:0.5)(2000:0.3)0.6 ;
50(150:0.5)(500:0.4)0.35 ;
500(1000:0.5)(3000:0.3)(10000:0.25)0.2 ;
......
这是一系列报销比例字符串
"(" 最左边的100,50,500 是报销的起付线,消费金额只有 > 起付线 后才给报销。
"()" 内 ":" 左边的是报销比例段,右边是报销比例。
拿第一个来说
起付线是100,500元以下部分报销比例是0.5,2000元以下部分报销比例是0.3,
超过2000元的部分报销比例是0.6
假如消费金额为 5000
首先减掉起付线 5000 - 100 = 4900
这4900属于报销范围内的,
500元以下报销金额为 (500-起付线)* 0.5 = 200
2000元以下报销金额为 (2000-500)* 0.3 = 450
剩下的部分报销金额为 (4900-400-1500)* 0.6 = 1200
总的报销金额为 200 + 450 + 1200 = 1850
大体的意思就是这样。
要求写一个 sql 函数
"BLC(@相应的报销比例字符串,@消费金额)", 能计算得出报销的金额。