注册 登录
编程论坛 SQL Server论坛

sql 处理字符串的问题

风流上进 发布于 2007-09-29 10:43, 730 次点击

事情是这样的,我最近在用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(@相应的报销比例字符串,@消费金额)", 能计算得出报销的金额。
5 回复
#2
风流上进2007-09-29 13:44
有人会么
#3
purana2007-09-29 14:20
暂时没有时间去看。
#4
心中有剑2007-09-29 15:06

如果是 vb或者 oracle我会,但是 sql server没写过函数,不懂 里面的语法!

找找对应的字符串函数吧!

在加循环 就应该可以了!

#5
shen5219412007-09-29 16:01
没时间看,等有时间给你解决下

#6
风流上进2007-09-29 16:14
1