表结构
plan_date_fm 请假开始日期 date
plan_date_to 请假结束日期 date
plan_time_fm 请假开始时 varchar2(10)
plan_time_to 请假结束时 varchar2(10)
docno 唯一编码 NUMBER
empno 员工编码 VARCHAR2(10)
name 姓名 VARCHAR2(10)
reason 请假理由 VARCHAR2(300)
plan_date_fm 请假开始日期 date
plan_date_to 请假结束日期 date
plan_time_fm 请假开始时 varchar2(10)
plan_time_to 请假结束时 varchar2(10)
docno 唯一编码 NUMBER
empno 员工编码 VARCHAR2(10)
name 姓名 VARCHAR2(10)
reason 请假理由 VARCHAR2(300)
plan_date_to 请假结束日期 date
plan_time_fm 请假开始时 varchar2(10)
plan_time_to 请假结束时 varchar2(10)假设对应值为
2012/03/04
2012/03/05
12:00:00
13:00:00
则上面算多久呢,一个小时,还是两个小时(第天1个小时),还是怎么计算?如果请假开始时只包括小时,感觉你表设计有问题噢,也可能是我理解有问题,呵呵
(to_date((PLAN_DATE_TO||' '||PLAN_TIME_TO),'yyyy/mm/dd hh24:mi')- to_date((PLAN_DATE_FM||' '||PLAN_TIME_FM),'yyyy/mm/dd hh24:mi'))*24 )
from ierp_off_duty group by empno
我只会根据员工号进行分组怎样按月份分呢?
/* WHERE Trunc(Plan_Date_Fm) >=
AND Trunc(Plan_Date_Fm) <*/---加上这个条件 可以限定到指定月
GROUP BY Empno, To_Char(Plan_Date_Fm, 'mm')
select to_char(sysdate,'day') from dual;还有如果我7月30请2天假那7月份的假只有一天那你的这个设计或是计算方式是不正确的,不能
请假结束日期||请假结束时-请假开始日期||请假开始时
的,你不感觉你把夜里的时间也算上了吗?岂不是多很多