涉及这样一道小算法:
  数据库设计(可以更改):
     计费方法表里存储有:
       计费方法ID
      计费方法名称
       通话类型
       生效开始时间
       生效结束时间

       
   用户通话清单表里有:
       通话开始时间
       通话结束时间
       通话类型
       
也许上面表设计的不好。
我该如何做, 可以从通话清单表里 去确定  计费方法,目前我是根据“通话开始时间”“结束时间”“通话类型”这三个参数 与计费表里的相应3个字段比较,从而获得计费方法。比如方法表里有很多方法
         某一方法是“国庆优惠1” “短途”类型   生效时间与结束时间为2009.10.01 0时:0分:0秒   到 2009.10.07 0时:0分:0秒  
          某一方法是 “国庆优惠2” “国内长途”类型  生效时间与结束时间为2009.10.01 0时:0分:0秒   到 2009.10.07 0时:0分:0秒  这些时间段话费比平时便宜些。 xxx元/分钟
         某一方法是   “晚间优惠”  “国内长途”类型  生效时间是每晚22:00 到第二天08:00  话费为xxx元/分钟
         还有一般方法, “常规1” “短途”类型  时间是长期(除所有优惠段外), 我该如何写算法,  可以从用户通话列表里 顺利 去 确定 唯一的计费方法
    关系如下:
                      比如这是优惠时间段                 -------------           (优惠段)   
                      用户通话时间段可以是    ------------                     (部分落在其中)
                                                     ------                  (全落在其中)
                                                                -----------         (部分落在其中)
                                                  --------------------------        (部分落在其中)                                 ------                                       (完全不落在其中)