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 49
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
934 PHP 모듈의 Communication error 1 양행진 2010.09.02 10811
933 PHP 모듈 설치중 문제입니다. 2 하하보이 2010.12.08 7380
932 PHP 로 큐브리드 사용중에 commit 부분이 안먹는거 같은데 도움좀 요청해요 ㅠ 2 addbasic 2009.09.10 8330
931 PHP 드라이버 Error: CCI, -20004 오류 해결 방법 문의 3 file 차오이 2013.09.22 9350
930 PHP PDO Driver 설치가 안됩니다. 웨버 2020.08.27 261
929 PHP DRIVER 컴파일 설치시 오류 1 나라디 2020.05.15 199
928 PHP 7.0 지원 여부 1 핑핑크 2017.04.27 5784
927 PHP 5.4.10 에서 드라이브 연동이안됩니다. 5 kudoz 2013.01.15 7411
926 PHP , cubrid_fetch 문의 9 Aramis 2012.07.19 6015
925 PHP + Apache + Cubrid 연동 질문 입니다. 3 지누 2011.07.27 11347
924 PDO가 지원되고 있는 건가요? 1 kkh 2011.07.09 10663
923 PDO 지원이 가능한가요? 1 ihwan 2009.05.20 12045
922 PC 전원이 나가고 DB가 구동 안되는 현상 (1319 게시물에 이어서) 1 나이스가이 2012.11.19 9034
921 PC 전원이 나가고 DB가 구동 안되는 현상 2 나이스가이 2012.11.14 7325
920 OwFS MetaDB 구성시 에러 현상 1 file june2 2014.04.17 8329
919 Overflow occurred in addition context 오류 1 엑팩 2017.11.29 471
918 Oracle의 stored function/procedure에 대한 질문입니다. 2 배나온천사 2011.09.06 10032
917 Oracle에서 Cubrid 로 이관을 하려고 하는데 CMT말고 할수 있는 방법이 있을까요? 1 curo 2022.03.02 81
916 Oracle->Cubrid 시 인덱스가 중복되었습니다. 라는 오류가 납니다. 2 secret 바퀴벌레 2016.03.07 6
915 Oracle->Cubrid 시 cubrid Manager 툴에서 2 블랙이 2016.04.20 9510
Board Pagination Prev 1 ... 149 150 151 152 153 154 155 156 157 158 ... 200 Next
/ 200

Contact Cubrid

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