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 64
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4464
919 Oracle의 stored function/procedure에 대한 질문입니다. 2 배나온천사 2011.09.06 10032
918 Oracle에서 Cubrid 로 이관을 하려고 하는데 CMT말고 할수 있는 방법이 있을까요? 1 curo 2022.03.02 81
917 Oracle->Cubrid 시 인덱스가 중복되었습니다. 라는 오류가 납니다. 2 secret 바퀴벌레 2016.03.07 6
916 Oracle->Cubrid 시 cubrid Manager 툴에서 2 블랙이 2016.04.20 9510
915 Oracle 사용자 팁 문의 1 비형여자 2011.07.26 9689
914 Oracle to CUBRID Migration 방안 1 DBS 2022.12.01 97
913 Oracle dblink 관련 문의드립니다. 1 file 서비서비 2022.08.31 130
912 Oracle XMLAGG 함수의 유사 기능 질문드립니다. 1 jyheo 2019.01.14 704
911 Oracle SQL 을 Cubrid SQL 로 컨버젼 툴 문의 1 홍가 2014.06.26 22573
910 Oracle SQL to Cubrid SQL 1 적막한밤 2014.07.30 6159
909 Oracle REGEXT 함수 지원하나요? 2 cyber 2013.03.25 11273
908 Oracle ==> Cubrid 진행 중입니다. 1 Philip Park 2020.04.08 142
907 Oracle -> Cubrid Migration 시 문제 문의드립니다. 1 바보똥개 2017.05.25 3857
» Oracle --> Cubrid 쿼리 변경 질문입니다! 3 잘하자! 2016.06.01 11071
905 Operation would have caused one or more unique constraint violations. 1 곰팅팅이 2016.03.30 9742
904 Openssl 취약점 패치 문의 2 아스페리타스 2020.12.11 150
903 On-line 상태에서 Volume 추가 안되는 문제 2 브이찾기 2016.05.17 7495
902 Oledb 문자열 값 가져오기 실패 문의입니다. 4 콩이아부지 2013.03.11 11088
901 OleDbCommand 를 사용하는데 다음 같은 에러가 발생합니다. 3번째 2 hades 2008.12.10 19126
900 OleDbCommand 를 사용하는데 다음 같은 에러가 발생합니다. 2번째.. 1 hades 2008.12.10 20814
Board Pagination Prev 1 ... 150 151 152 153 154 155 156 157 158 159 ... 200 Next
/ 200

Contact Cubrid

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