一张表中,2个字段:生成日期,完成日期如何求完成日期和生成日期之间的平均值?
要求计算工作日的平均值,即 不包括周六和周日
最好还能去掉黄金周
如:
生成日期 20091008
完成日期 20091013他的时效就是3天 因为去掉了周末大虾请说的具体点 
我是新手多谢!

解决方案 »

  1.   

    一般都是维护一张假期表,里面一个字段假期日期hdate
    然后像这种情况,就是
    select 20091013 - 20091008 - count(1) from holiday where hdate between 20091008 and 20091013;
      

  2.   

    因为你还要去掉中国的特定节假日,所以这种假期表的方式是比较好的如果只是单纯的去掉周六和周日,那么用NEXT_DAY函数结合 SUNDAY这种形式也可以变通的算出来。
    下面是一个NEXT_DAY函数的例子SELECT NEXT_DAY('02-FEB-2001','TUESDAY') "NEXT DAY" FROM DUAL;NEXT DAY
    -----------
    06-FEB-2001
      

  3.   

    那这两张表如何关联呢???
    我的原表叫 tongji,有字段 created_date和done_date
    假期表叫 holiday 有字段 hdate
      

  4.   

    这样可以吗?select created_Date-done_date-count(holiday.hdate)
    from tongji,holiday
    where hdate between created_date and done_date
      

  5.   

    select avg(..) from( select created_date,done_date,(select count(1) from holiday where ...) cn from tongji);