Background Image

FORUM

조회 수 11072 추천 수 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


     

    감사합니다.


  1. No Image notice by admin 2024/04/23 by admin
    Views 101 

    CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. 쿼리 브라우져 가져오기 오류 질문

  4. [질문] APC_Install-tools 1.4 사용시 ~

  5. updateblob에 대한 문의 입니다.

  6. MSSQL에서 큐브리드 연동

  7. 접속자의 아이피나 맥어드레스를 알아낼수 있는지요

  8. 초보 질문드립니다^^:(인스턴스 갱신)

  9. 맥에서 cubrid query browser 실행이 안됩니다.

  10. cubridmanager 실행시 오류 입니다.

  11. 원하는 테이블에 데이터를 추가 하고싶으면 어떻게 하나요?

  12. 매니저 오류 문의

  13. 오류의 의미??

  14. 임시테이블에 대한 지원 계획은 있는지 궁금합니다

  15. 뷰 테이블 편집 cascade 오류

  16. Cubrid 2008 R 1.3 설치중 에러메시지

  17. 라이센스 관련 문의 입니다.

  18. cubrid 8.4.3 loaddb 또는 대량데이터 일괄 Insert 방법

  19. 트랙잭션이 시스템에 의해 중단됩니다.

  20. 대용량 mysql 데이타를 큐브리드 2008 로 마이그레이션 할때

  21. cubrid 설치 후 서버 기동 문제

  22. JBoss 7.1.1 와 Cubird 9.3.6 버젼 연동 문의

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