Background Image

FORUM

2012.12.13 01:53

시간계산 문제

조회 수 13485 추천 수 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 도구 출시 안내 admin 2024.04.23 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
574 nFORGE, DBMS - 큐브리드로 설치중인데요 가이드대로 하는데 애로사항이 많네요 3 gorillia 2009.05.29 13195
573 로그에 관련된 내용 없을까요? 5 노랑배 2010.09.02 13204
572 cci 관련 질문 드립니다. 2 kkckc 2009.02.25 13221
571 파티셔닝으로 성능향상 미비? 1 라면 2016.08.04 13222
570 CSQL을 통해서 데이터 입력 시 케릭터 셋 설정 1 거만쟁이 2009.05.20 13231
569 OLEDB Driver Error... 4 flypig 2009.04.24 13259
568 큐브리드 브로커의 기능에 대해 문의 합니다 1 file 샤키 2010.05.01 13264
567 cubrid addvoldb 문의 2 yscoma 2016.08.31 13266
566 SQL 인라인뷰 응답속도 개선 문의 6 knight 2013.12.07 13270
565 cpu 점유률이 100% 입니다. 1 genlux 2009.06.15 13276
564 CentOs5.3 에서 TwinIp 설정시 cubrid service start 명령 실행시 멈춤현상 1 로보캅 2009.11.25 13294
563 외부 개체에 트랩 가능한 오류(C0000005)가 발생했습니다. 스크립트를 계속 실행할 수 없습니다. 오류가 발생합니다. 2 하아품 2016.05.28 13309
562 데이터 백업/복구 와 언로드/로드 의 차이?? 1 유니콘 2011.01.12 13326
561 8.2.1버전에서 SQuirreL SQL Client 접속 가능한가요? 1 Philip Park 2010.01.26 13350
560 csql로 연결은 되는데 쿼리가 안되네요 5 하나엘 2009.12.08 13350
559 erwin 호환 2 cho 2016.09.07 13357
558 OLEDB 에서 OID 자동으로 가져오게 하는 방법? 2 서명호 2009.05.01 13374
557 ADO.net 또는 ODBC에 대한 질문입니다. 12 세스카 2012.03.20 13377
556 외부에서 CUBRID접근 시 포트 포워딩 방법 2 하루야 2013.04.19 13396
555 cubrid 매니저 아이디 잊어 버렸는데.. 2 티제이 2011.12.10 13409
Board Pagination Prev 1 ... 167 168 169 170 171 172 173 174 175 176 ... 200 Next
/ 200

Contact Cubrid

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