Background Image

FORUM

조회 수 26375 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
select case
            when to_number(to_char(sysdate, 'd')) between 4 and 7 then sysdate + (10 - to_number(to_char(sysdate, 'd')))
            else sysdate +(3-to_number(to_char(sysdate, 'd'))) end
from db_root


화요일이 지났으면 다음 주 화요일을 조회하고, 화요일이 지나지 않았으면 이번 주 화요일을 출력하는 쿼리입니다.
쿼리에는 이상이 없는 것 같은데, "Semantic: '+' operator is not defined on types date and numeric. " 이라는 오류를 발생시키네요.
오라클에서는 이상이 없이 조회가 되는데요.
오라클 만의 특별한 명령어를 쓴 것도 아닌데...
무엇이 문제일까요?
  • ?
    시난 2009.07.29 20:47

    음.. 이 문제는 numeric과 date 형의 오퍼레이터(+,-) 연산이 호환되지않아서 나타나는 것 같습니다.
    date형과 integer는 잘 되므로..

    다음과 같이 수정하시면 해결됩니다.. (더 좋은 의견 있으시면 댓글 부탁드려요!)
    장기적으로는 CUBRID에서 지원하게 수정해야겠네요.

    select case
                when to_number(to_char(sysdate, 'd')) between 4 and 7 then sysdate + CAST(10 - to_number(to_char(sysdate, 'd')) AS int)
                else sysdate +CAST(3-to_number(to_char(sysdate, 'd')) AS int) end
    from db_root


    select sysdate + 3 from db_root -- OK

    select sysdate + to_number('3') from db_root -- ERROR

    select sysdate + CAST(to_number('3') AS int) from db_root -- OK

    select sysdate + CAST('3' AS int) from db_root -- OK

  • ?
    웁쓰 2009.07.29 21:02
    현재 버전에서 CUBRID 묵시적 형변환 (Implicit Type Conversion) 이 다른 DBMS 보다 좀 더 strict  합니다.
    개선되어야 하는 부분이 맞구요. 계속 사용하실때 Oracle에서 되던 연산이 수행되지 않을수도 있습니다.

    아래 링크를 통해서 확인 가능 합니다.

    CUBRID Data Type 형변환 matrix
    http://www.cubrid.com/online_manual/cubrid_814/syntax/syntax_operator_cast.htm
    Oracle Data Type 형변환 matrix
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/sql_elements002.htm#i55214

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

  2. demodb구동 실패

  3. Cubrid 2008과 7.3의 차이?

  4. 본 게시판 버그가 있는 듯...

  5. 프로시저 사용시

  6. auto_increment 가 7.1 에서는 사용이 되지 않나요?

  7. 테이블 삭제시 오류에 대하여...

  8. 트랜잭션 관련 추가 문의입니다.

  9. Could not initialize class cubrid.jdbc.jci.UJCIManager 에러.ㅠ.ㅠ

  10. Python 으로 데이터 일괄처리 하는 부분??

  11. php 모듈 설치 에러입니다

  12. 자바 프로시저 작성 문의입니다.

  13. 날짜 계산관련 문의드립니다.

  14. DB 페이지 스페이스 늘이는 방법 문의입니다.

  15. [초보문의] 질의편집기 접속 오류

  16. 서버컴 접속이 안되요

  17. 설치 및 삭제의 편의성 증대 요청

  18. 업데이트 보완 문제 해결요청

  19. CUBRID 7.3 + zeroboard XE 관리자 로그인 에러

  20. DB / PW 자릿수를 늘려주세요.

  21. 해당 ip에만 접속 권한을 주는 기능은 없나요?

Board Pagination Prev 1 ... 194 195 196 197 198 199 200 201 202 203 ... 213 Next
/ 213

Contact Cubrid

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