Background Image

FORUM

2018.12.27 16:42

java 저장 함수에서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 64bit
CUBRID Ver.
CUBRID 9.3 (9.3.9.0002) (64bit release build for Windows_NT) (Aug  4 2017 12:26:47)
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

java 저장 함수에서 한 자리 이상의 소수점을 가진 BigDecimal 값 리턴 시 오류가 발생합니다.

SQL 반환타입 : NUMERIC, 자바 반환타입: java.math.BigDecimal

자바에서 scale하여 소수점 둘쨋자리까지로 반올림하여 리턴하도록 구현했습니다.


실행 오류 : -693

Overflow occurred on data type Numeric.


CREATE FUNCTION getexchamount (

p_amt NUMERIC,

p_exch_cur STRING,

p_bas_cur STRING,

p_exch_date STRING

) RETURN NUMERIC

AS LANGUAGE JAVA NAME 'TEST_FN.getExchAmount(java.math.BigDecimal,java.lang.String,java.lang.String,java.lang.String) return java.math.BigDecimal'


소수점 첫쨋자리까지로 반올림하여 리턴하는 경우에는 오류가 발생하지는 않지만 소수점이 없어지고 반올림된 정수로 결과가 나옵니다.


소숫점을 포함한 숫자를 리턴 받으려면 어떻게 처리해야 하나요? 답변 부탁드립니다.

  • ?
    성진 2018.12.27 16:44
    DOUBLE로 받으시면 될 것 같습니다.
  • ?
    klee 2018.12.27 18:44
    해당 리턴값으로 java에서 BigDecimal로 연산하는 경우도 있습니다. 요구사항에 따라 스케일이 더 클 수도 있구요. double형은 부동소수점 오류가 발생할 수 있어 지양하는 바입니다. SQL리턴타입을 numeric(20,5) 이런식으로 지정하고 싶은데.. 다른 방법은 없는지요..?

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

    Date2020.04.09 Byadmin Views4441
    read more
  2. CUBRID 8.4.4 -> 11.0.3 로 업그레이드 시 발생할 문제가 있을까요?

    Date2023.06.29 BySDDC사업개발자 Views89
    Read More
  3. CUBRID to Tibero DBLink지원 가능한지 알고싶습니다.

    Date2023.06.28 By공공기관에서사용중1 Views137
    Read More
  4. ELO타입이 무엇인가요?

    Date2023.06.27 Bysobubble Views115
    Read More
  5. 백업파일 받았는데 복구하는 방법을 모르겠습니다.

    Date2023.06.20 ByGgyak Views181
    Read More
  6. UTF8 한글이 깨짐

    Date2023.06.19 Byyonggi Views266
    Read More
  7. 저장 프로스저에 있는 함수 상세보기 문의입니다.

    Date2023.06.12 By대출인생30년 Views82
    Read More
  8. MERGE INTO 속도 개선 문의

    Date2023.06.12 Byleeee Views129
    Read More
  9. NX_transcation

    Date2023.06.12 Byyoo Views79
    Read More
  10. cubrid cursor.close() 에러 관련질문

    Date2023.06.08 By힘내자화이팅 Views185
    Read More
  11. merge 쿼리 속도개선

    Date2023.06.08 Byleeee Views109
    Read More
  12. 브로커(CAS)수 질문드립니다!

    Date2023.06.05 By요시니 Views152
    Read More
  13. 데이터 이관 문의입니다.

    Date2023.05.30 Bykipo0821 Views129
    Read More
  14. 8.4.4 charset. Collation 확인 방법

    Date2023.05.24 By네오랜덤 Views185
    Read More
  15. 8.4.4버젼 charset 확인

    Date2023.05.23 By네오랜덤 Views190
    Read More
  16. 쿼리 속도 차이 질문

    Date2023.05.18 By하얀미스 Views142
    Read More
  17. spring boot 에서 HikariPool-1 - Driver does not support get/set network timeout for connections. (java.lang.UnsupportedOperationException) 질문 드립니다.

    Date2023.05.18 Bykjaminam Views766
    Read More
  18. cci 프로그래밍에서 DB LINK 관련 문의

    Date2023.05.18 Byjjune1206 Views127
    Read More
  19. 큐브리드 매니저 실행이 오류

    Date2023.05.18 By청주시청 Views101
    Read More
  20. ddl 추출

    Date2023.05.17 By네오랜덤 Views104
    Read More
  21. 하나의 쿼리에서 복수 테이블 업데이트 방법 문의

    Date2023.05.17 By도담도담 Views134
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 200 Next
/ 200

Contact Cubrid

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