oracle 存储过程怎么算出一个月有几周? 怎么用周统计所有这周订餐的人员。

如题所述

第一个问题不明确。就像前面的人说的,可以有3个或4个完整周,有一个或两个不完整周。
计算出来这个感觉对你用处不大。所以还是看你到底想要做什么吧。
第二个问题,应该是你指定当前周或者前一周。然后来统计。
统计当前周,where 条件可以是: dt >=trunc(sysdate,'day') and dt <= sysdate
trunc(sysdate,'day')的意思是取得当前日期所在周的星期日那一天,注意,它也就是所在周第一天。
统计前一周可以是 dt >=trunc(sysdate,'day')-7 and dt <= trunc(sysdate,'day')
至于要统计其他周的数据就看你自己了。呵呵。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-01
这个数据库就算去统计也很费劲。这个由你的外围程序处理比较顺利和简便。
第2个回答  2010-12-01
第一个问题
一个月肯定有四周或五周,计算指定月的第一天是周几,往下推算就能算出来有几周
第二个问题
1.计算指定日期在其所在周的第几天
2.计算指定日期所在周的第一天和最后一天
3.用2算出来的结果查询

一般用last_date,next_date函数
给出思路,具体用到的oracle函数自己查资料吧。
第3个回答  2010-12-02
如果是按一周7天来算,一个月完整周数是4周, 如果说一个月中只要出现某一天(比如说周日)就算一周的话,to_char(SYSDATE,'dy')这个可用来判断。有几个周日算几周。