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 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3094 큐브리드 메니저 2.2 에서 엑셀파일 임포트는 어떻게? 1 penmouse 2010.06.05 11177
3093 쿼리수행시 Lock 관련 문의 2 nagh 2014.12.11 11172
3092 serial 또는 auto increment 현재값 수정 1 소라게 2014.02.25 11161
3091 CUBRID DB 32bit에서 64bit 변경 방법 1 동훈이 2016.09.07 11143
3090 ODBC를 사용해서 디비작업이 안되요 1 요한 2010.04.15 11142
3089 브로커 타임아웃 설정 가능여부 문의 1 장경수 2014.01.20 11130
3088 온라인 메뉴얼이 firefox에서 동작이 안되네요. 1 flypig 2009.03.25 11128
3087 CUBRID 매니저 서버 연결 오류 3 file 지용 2009.09.09 11123
3086 아카이브 로그 자동 삭제 및 볼륨 자동 생성 문의 1 소라게 2013.11.22 11105
3085 linux demodb구동시 에러 1 시나브로 2013.09.12 11105
3084 윈도우 큐브리드 메니저로 리눅스 접속 3 노스 2010.09.14 11092
3083 Oledb 문자열 값 가져오기 실패 문의입니다. 4 콩이아부지 2013.03.11 11088
3082 cubrid_prepare 오류 질문드립니다 4 엠지 2012.05.17 11086
3081 데이트타입 컬럼의 주를 구하는 함수는? 2 초보 2010.03.31 11081
3080 CUBRID 공간데이터 타입 기대해도 되나요? 3 kladess 2011.11.19 11073
3079 큐브리드 매니저에서 서브쿼리 날리면 값이 안나오는 문제 1 지니보이 2010.01.29 11071
» Oracle --> Cubrid 쿼리 변경 질문입니다! 3 잘하자! 2016.06.01 11071
3077 The size of data received from server is different from the expected 2 사자 2011.01.21 11069
3076 파티션 테이블에 대해서.. 1 알칸펠 2014.01.17 11067
3075 JBoss 7.1.1 와 Cubird 9.3.6 버젼 연동 문의 file 뽀대남 2016.07.12 11060
Board Pagination Prev 1 ... 41 42 43 44 45 46 47 48 49 50 ... 200 Next
/ 200

Contact Cubrid

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