Background Image

FORUM

조회 수 23178 추천 수 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. No Image notice by admin 2024/04/23 by admin
    Views 118 

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

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

  3. 사이트 관리지 접속 시 오류

  4. jdk 1.2, 1.4에서는...

  5. desc처럼 테이블 정보보는 방법은요

  6. ODBC, OLEDB 별도 설치 방법좀 알려주세요...

  7. 큐브리드를 설치하고 실행하려는데 아래와 같은 오류가 납니다.

  8. 설치시 cub_cas.exe - 시작지점 없음 오류

  9. Windows 에서 사일런트 설치가 가능한가요...

  10. 큐브리드DB와 비주얼베이직6.0을 연동하는 방법좀 부탁드려요

  11. 집합형 데이터 타입의 조회방법 문의

  12. 성능평가 관련 질문 & 로드(load)

  13. 백업받은 파일로 다른 서버에 복구하기

  14. demodb구동 실패

  15. Cubrid 2008과 7.3의 차이?

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

  17. 프로시저 사용시

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

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

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

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

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

Board Pagination Prev 1 ... 181 182 183 184 185 186 187 188 189 190 ... 200 Next
/ 200

Contact Cubrid

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