Background Image

FORUM

조회 수 11071 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

기존 Oracle에서 쿼리를 돌리면 23:00이라는 시간이 나왔습니다.

SELECT
             TO_CHAR(TO_DATE('00010101','yyyymmdd') + mod(((('3600' * 24 * 60)-60)/60/24),1),'hh24:mi') DAIL_TOT_WORK_TIME
FROM
 DUAL;


헌데 Cubrid에서는 TO_DATE로는 Invalid format 에러가 뜨더군요...

해서 TO_DATETIME 으로 변경해봤지만 00:00이라는 값이 나오더군요...

대체할 만한 함수가 있다면 가르쳐주시면 감사하겠습니다.

큐브리드 9.3.6 버전입니다

  • ?
    이상신 2016.06.01 04:41

    안녕하세요~


    아래와 같이 변경하시면  23:00 표시됩니다.

     SELECT  TO_CHAR ( DATETIME '0001-01-01 23:00:00', 'hh24:mi') DAIL_TOT_WORK_TIME


    날짜 함수는  DB사 마다 특징이 있어 메뉴얼 참고 하여 쿼리 작성하여 주십시오

    http://www.cubrid.org/manual/ko/9.3.0/sql/datatype.html#date-time-type 


    감사합니다.

  • ?
    잘하자! 2016.06.01 19:04

    죄송해요 제가 ;; 다시말하자면...

     TO_TIME( REPLACE(a1.LVFFC_TIME2, ':') || '00', 'HH24MISS' )
                     - TO_TIME( REPLACE(a1.ATTEND_TIME2, ':') || '00', 'HH24MISS' ) AS DAIL_TOT_WORK

    이쿼리에서  a1.LVFFC_TIME2, a1.ATTEND_TIME2 이 파라미터값이고 여기에 각각 18:00, 09:00 이 들어갑니다. 

    그리고 DAIL_TOT_WORK 가 아래쿼리에서 사용되어 집니다...

    TO_CHAR(TO_DATETIME('00010101','yyyymmdd') + mod((((b1.DAIL_TOT_WORK * 24 * 60)-60)/60/24),1),'hh24:mi') AS DAIL_TOT_WORK_TIME


    근데 오라클과 큐브리드 값이 다르더라구요 ㅠㅠ

  • ?
    이상신 2016.06.02 23:47
    Oracle에서 어떤 결과가 나오는 확인 되어야  cubrid 로 변경 방법 가이드가 가능합니다.

    하지만 아래 쿼리 오라클에서 수행 시 오류 발생 합니다.

    SELECT TO_TIME( REPLACE('18:00', ':') || '00', 'HH24MISS' )
                     - TO_TIME( REPLACE('09:00', ':') || '00', 'HH24MISS' ) AS DAIL_TOT_WORK

    FROM DUAL;

    ----

    ORA-00904: "TO_TIME": invalid identifier


    여기서 나와야 하는 정상적인 결과값이 '3600' 이 맞습니까?

    맞다고 가정하고

    SELECT
                 TO_CHAR(TO_DATE('00010101','yyyymmdd') + mod(((('3600' * 24 * 60)-60)/60/24),1),'hh24:mi') DAIL_TOT_WORK_TIME
    FROM  DUAL;

    ---

    23:00
    1 row selected.


    결론적으로 원하는 쿼리는 '3600' 값을 이용하여  23:00 결과를  만들고 싶어 하시는 것 입니까?

    그럼 아래와 같이 변환 가능합니다


    SELECT
                 TO_CHAR(TO_DATETIME('00010102','yyyymmdd') - '3600' * 1000, 'hh24:mi')  DAIL_TOT_WORK_TIME


    참고로 oracle VS cubrid 시간 계산에서  가장 큰 차이는 1의 값이 오라클은 1 day 큐브리드는 0.001초입니다.

    즉 오라클은  DAY 기준 큐브드리는 millisecond  기준 입니다


    SELECT
        TO_CHAR(SYSDATE, 'yyyy-mm-dd HH24:MI:SS'),
        TO_CHAR(SYSDATE + 1, 'yyyy-mm-dd HH24:MI:SS')
    FROM DUAL;

    ------------------- -------------------
    2016-06-02 13:54:39,  2016-06-03 13:54:39
    1 row selected.


    SELECT 
     TO_CHAR(SYSDATETIME, 'yyyy-mm-dd hh24:mi:ss') ,
     TO_CHAR(SYSDATETIME +  60 * 1000, 'yyyy-mm-dd hh24:mi:ss'),
     TO_CHAR(SYSDATETIME +  60 * 60 * 1000, 'yyyy-mm-dd hh24:mi:ss'),
     TO_CHAR(SYSDATETIME +  24 * 60 * 60 * 1000, 'yyyy-mm-dd hh24:mi:ss')

    FROM DB_ROOT

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

    2016-06-02 13:55:53,  2016-06-02 13:56:53, 2016-06-02 14:55:53, 2016-06-03 13:55:53


     

    감사합니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 48
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
954 DB명_TXXXXX 임시파일이 생기는 경우는 뭐죠? 1 kimsuny 2013.11.12 10849
953 No space left on device 오류 문의 1 김상윤 2013.06.25 10851
952 ㅠ.ㅠ 안되는 autocommit off 2 바람바람 2013.01.03 10864
951 cubrid service start 실행이 안되네요 ㅠ 1 Mickey 2010.04.28 10865
950 php 모듈을 로딩하지 못합니다. 해결방법이.... 1 오케이디바이스 2009.12.10 10866
949 cci_execute() 에서 lock이 걸리는 현상 2 두영 2010.02.05 10869
948 unload/load 관련한 질문입니다. 4 potter 2009.12.04 10878
947 테이블의 크기 1 카르마 2011.01.10 10880
946 Cubrid Manager 랑 JDBC연결과 cubrid 설치도 문제가있는 것 같습니다. 2 낚시나간지렁이 2014.08.02 10884
945 HA 구성중 서버 이전으로 재구성시 1 라면 2016.07.08 10889
944 큐브리드에 Synonym기능 있나요? 1 김성일컴퍼니 2013.07.18 10890
943 ACTIVE_SESSION 이 48수치에 DB 다운되어 버립니다. 13 안토니오 2010.07.25 10904
942 큐브리드 매니저 connect timed out. 오류 1 아이쿠두야 2012.03.23 10923
941 php 모듈설치가 안되요 5 sapr 2009.11.26 10923
940 큐브리드2008의 DB로드/언로드 기능으로 마이그레이션 방법 문의 12 file 고영진 2009.09.11 10925
939 쿼리 브라우져 가져오기 오류 질문 4 joke7 2013.12.08 10928
938 [질문] APC_Install-tools 1.4 사용시 ~ 2 file 야매코더 2009.03.17 10933
937 updateblob에 대한 문의 입니다. 1 짱똘 2009.10.28 10939
936 MSSQL에서 큐브리드 연동 3 미곰 2016.05.24 10950
935 접속자의 아이피나 맥어드레스를 알아낼수 있는지요 3 유니콘 2012.12.05 10956
Board Pagination Prev 1 ... 148 149 150 151 152 153 154 155 156 157 ... 200 Next
/ 200

Contact Cubrid

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