근무시간 계산 문의 드립니다. 0 1 251

by lgxj20 [2019.02.08 10:07:05]


   근무일 : 20190129 , 출근시간 : 06:30분 , 퇴근시간 : 21:15
   근무일 : 20190130 , 출근시간 : 06:30분 , 퇴근시간 : 00:45
   
   일반적인 근무 자정이전이면 잘되는데

   이때 자정이 넘어선 00시45분 퇴근일때 총근무시간이 18시간 15분이 나와야되는데요..어떤식으로 해야 될까요?

by 마농 [2019.02.08 11:04:13]

근무시간이 24시간이 넘어가는 경우는 없을까요?
6:30 ~ 6;40 의 경우? 근무시간은?
 - 10분 VS 24시간10분 ???
출퇴근 시간을 아예 date type 으로 해서
날짜와 시분초까지 함께 저장하면 이런 이슈는 없을 듯 하네요.
일단, 24시간 이상 근무는 금지되어 있다고 가정하고.
 

WITH t AS
(
SELECT '20190129' dt, '06:30' stm, '21:15' etm FROM dual
UNION ALL SELECT '20190130', '06:30', '00:45' FROM dual
)
SELECT dt, stm, etm
     , TO_CHAR(TO_DATE(ROUND(
       ( TO_DATE(etm, 'hh24:mi')
       - TO_DATE(stm, 'hh24:mi')
       + CASE WHEN stm < etm THEN 0 ELSE 1 END
       ) * 24*60*60
       ), 'sssss'), 'hh24:mi') x
  FROM t
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입