시간계산하기 0 3 482

by 퇴근하고싶다 [Oracle 기초] [2019.11.12 10:03:29]


안녕하세요.

시간을 구하고 있습니다.

시작시간(시) 시작시간(분) 종료시간(시) 종료시간(분)
16 00 18 00
16 30 18 00
15 30 18 00

각 시작시간(시),시작시간(분),종료시간(시),종료시간(분) 데이터타입은 varchar2 입니다.

시작시간(시) 시작시간(분) 종료시간(시) 종료시간(분) 시간
16 00 18 00 2
16 30 18 00 1:30
15 30 18 00 2:30

 시간 : 종료시간 - 시작시간

으로 하고싶은데.. 분단위때문에 연산이 잘안되는거 같습니다 ㅠㅠ

by DarkBee [2019.11.12 10:25:38]
일자값 없이 시작시간보다 종료시간이 클경우는 어떻게 할것인지? ( 24시를 넘어갈경우 )
에 따라 질의는 달라질수 있습니다.

 


by 우리집아찌 [2019.11.12 10:29:51]
— 하루 넘어가는건 고려하지 않았습니다
select st_hh , st_mi , ed_hh , ed_mi
         , trunc( gap_tm * 24 ) || case when mod( gap_tm * 60 * 24  , 60 ) = 0 then null else ‘:’ || mod( gap_tm * 60 * 24 , 60 ) end tm
  from ( select t.*
                    , to_date ( ed_hh || ed_mi , ‘hh24mi’ ) - to_date ( st_hh || st_mi , ‘hh24mi’ ) gap_tm
                 from t
           )

 


by 퇴근하고싶다 [2019.11.12 16:54:14]

답변감사합니다.

질문 다시 수정하여 (구체적으로) 다시 올리겠습니다..!

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