求算法,db2存储过程

杰小 2011-10-09 06:30:34
a + b - c (四则运算 )

2011.01.01 至 2011.01.15 a=3
2011.01.16 至 2011.03.30 a=5
2011.03.31 至 2011.10.09 a=21

2011.01.01 至 2011.02.11 b=6
2011.02.12 至 2011.06.30 b=11
2011.07.01 至 2011.10.09 b=19

2011.01.01 至 2011.05.10 c=22
2011.05.11 至 2011.10.09 c=30

要求计算 2011.02.01 至 2011.10.09
a + b - c 的和。
求算法:
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaojianmi1 2011-10-10
  • 打赏
  • 举报
回复
其实时间段确定之后,a + b - c就已经确定(假设是d),就是说不需要去看a\b\c各是多少,直接得出d了吧
杰小 2011-10-10
  • 打赏
  • 举报
回复
两个日期字段都在表里面,这样的拼接时间段不是一般的复杂,不过还是谢谢你。
Mr_Bean 2011-10-09
  • 打赏
  • 举报
回复
也只能这么算啊 拿你的时间头和尾分别去比较区间
杰小 2011-10-09
  • 打赏
  • 举报
回复
以区间方式计算太复杂,而且时间段不固定,谁有更好的算法么?
2011.02.01 2011.02.11 a=5 ,b=6 ,c=22 (5+6-22)*(天数) = sum1
2011.02.12 2011.03.30 a=5 ,b=11,c=22 (5+11-22)*(天数)= sum2
2011.03.31 2011.05.10 a=21,b=11,c=22 (21+11-22)*(天数)= sum3
2011.05.11 2011.06.30 a=21,b=11,c=30 (21+11-30)*(天数)=sum4
2011.07.01 2011.10.09 a=21,b=19,c=30 (21+19-30)*(天数)= sum5

和为:sum1+sum2+sum3+sum4+sum5。
还准备计算出每天的值,但是也挺麻烦的。

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧