oracle中 我想統計一個月內,每天早八點到下午四點半(早班),下午四點半到第二天早半點的資料(夜班),用Sql怎么寫,感激不盡[
uj5u.com熱心網友回復:
重復帖子?
select a.attendanceid,
s.schedulingname,
substr(a.attendancebegintime,12,8) ,
case when substr(a.attendancebegintime,12,8) <= s.schedulingbegintime then '無'
when a.attendancebegintime is null then '未打卡'
else to_char(numtodsinterval(to_date(substr(a.attendancebegintime,12,8),'hh24:mi:ss') - to_date(s.schedulingbegintime,'hh24:mi:ss'),'DAY'))
end,
case when substr(a.attendanceendtime,12,8) >= s.schedulingendtime then '無'
when a.attendanceendtime is null then '未打卡'
else to_char(numtodsinterval(to_date(s.schedulingendtime,'hh24:mi:ss') - to_date(substr(a.attendanceendtime,12,8),'hh24:mi:ss'),'DAY'))
end
from a
left join s
on a.schedulingid = s.schedulingid
order by a.attendanceid
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/93514.html
標籤:基礎和管理
