Background Image

FORUM

2012.12.13 01:53

시간계산 문제

조회 수 16501 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요.

아래의 쿼리는 오라클에서 사용된 쿼리 입니다.

둘 날짜 사이의 시간을 계산 하려고 합니다.

예를들어 2012-08-03 00:00 ~ 2012-08-04 12:20 사이의 시간 계산 입니다.

아래의 쿼리를 돌리면 결과값으로 TT 의 결과값을 얻을 수 있습니다.

큐브리드로 전환을 하려고하는데 생각처럼 쉽지 않네요. 어떻게 해야할까요?

 

AA                                         BB                                          TT

------------------------------------------------------------------------------------------------

2012-08-04 오후 11:20:00    2012-08-03 오전 12:00:00    1일23시간19분

 

SELECT  aa, bb,
       (
           CASE WHEN trunc(aa-bb)>=0
                THEN trunc(aa-bb) || '일'
           END
       )
       ||
       (
           CASE WHEN trunc(mod((aa-bb),1)*24)>=0
                THEN trunc(mod((aa-bb),1)*24) || '시간'
           END
       )
       ||
       (
           CASE WHEN trunc(mod((aa-bb)*24,1)*60)>=0
                THEN trunc(mod((aa-bb)*24,1)*60) || '분'
           END
       ) AS TT
  FROM
       (SELECT to_date('201208030000' ,'YYYYMMDD HH24:MI:SS') AS bb FROM dual ) A ,
       (SELECT to_date('201208042320' ,'YYYYMMDD HH24:MI:SS') AS aa FROM dual ) B  

  • ?
    권호일 2012.12.13 19:31
    안녕하세요.
    질문 감사 드립니다.

    보아하니, 보내 주신 쿼리는 오라클 쿼리군요.

    큐브리드는 datetime - datetime 의 계산결과를 MILLISECOND로 처리합니다.

    따라서 millisecond를 일,시간, 분으로 계산하면 됩니다.

    여러가지 방법이 있겠지만, 
    쿼리가 복잡해 질 수 있을 것 같아서 대소비교 부분은 빼고,
    일단위 계산은 MILLISECOND를 일 단위로 변경하고,
    시간과 분단위 계산은 ADDDATE 함수를 사용하여 처리하였습니다.

    감사합니다.

    SELECT TO_NUMBER ( to_datetime('20120804232000' ,'YYYYMMDDHH24MISS') -to_datetime('20120803000000' ,'YYYYMMDDHH24MISS') ) /( 24*60*60*1000) ||'일 ' ||
          TO_CHAR (  
                             ADDDATE ( to_datetime( '00010101000000','YYYYMMDDHH24MISS' )
                                      ,INTERVAL  to_datetime('20120804232000' ,'YYYYMMDDHH24MISS')
                                               - to_datetime('20120803000000' ,'YYYYMMDDHH24MISS') 
                                        MILLISECOND  )

                    , 'hh24:mi:ss'  )  AS xx
    FROM db_root


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 21 admin 2024.04.23 143868
1388 CUBRIDService 를 시작할수 없습니다. 5 file 오색무지개 2013.02.15 23856
1387 서버접속이 안되고 무한루프돕니다... 5 file redStar 2013.02.15 12299
1386 컬럼 종류 1 file 소라게 2013.02.14 8859
1385 큐브리드 REPLACE 함수 사용 1 DarkRanger 2013.02.13 13831
1384 오류 코드 관련 문의 1 ........ 2013.02.12 8592
1383 컴이 느려집니다. 1 file 또랑 2013.02.10 24631
1382 소스 코드 1 소라게 2013.02.09 10055
1381 console 에서 만든 db의 password를 바꾸고 싶습니다. 1 살구맛 2013.02.08 29520
1380 테이블 생성시 에러 1 file ran 2013.02.08 8609
1379 ERROR CODE = -41, ERROR CODE = -52 1 까망이 2013.02.07 51360
1378 This may take a long time depending on the amount of recovery works to do.? 1 ddan0701 2013.02.07 12326
1377 [깜짝이벤트] CUBRID 열심 사용자들께 2013년 메모지 셋트를 드립니다 3 file CUBRID_DEV 2013.02.05 17768
1376 바로 밑에 질문 올린 내용 다시 질문 드립니다. 2 댄디 2013.02.05 11743
1375 DB 접속이 안됩니다. [에러메세지 포함] 1 댄디 2013.02.05 10034
1374 큐브리드 매니저 테이블 목록 3 응큼한배추 2013.02.05 10227
1373 CUBRID 매니저 접속 시 상단 에러 표시 3 freemir 2013.02.01 8336
1372 정기교육 문의 1 마루 2013.01.30 8025
1371 매니저 실행 오류 질문. 1 신데렐라 2013.01.29 12549
1370 BLOB에 대한 자바 타입변환 문제.. 1 file ㅇㅇ 2013.01.28 13380
1369 log좀 봐주세요 2 바람바람 2013.01.25 9303
Board Pagination Prev 1 ... 139 140 141 142 143 144 145 146 147 148 ... 213 Next
/ 213

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales