10.2 :: round 함수에 버그가 있는 것으로 보입니다.

by rednuts posted Feb 04, 2021

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Microsoft Windows [Version 10.0.19042.789] 64bit 
CUBRID Ver.
CUBRID 10.2 (10.2.2.8874-f681dd9) (64bit release build for Windows) (Sep  1 2020 09:43:12)
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

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


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


round 에 버그가 있는 것으로 보입니다.

아래의 쿼리로 테스트하면 round(val,1) 에서 원치않는 미세 끝수가 붙어나옵니다.

컬럼타입은  decimal(20,5) 입니다.


실제 자바 프로젝트에서 발견이 되었습니다.

SQLgate 에서는 문제가 없는 듯 조회가 됩니다만...

자바 로그 및 csql 에서 오동작결과가 확인됩니다.


첨부가 안되어서 상황설명 이미지 및 

테이블 스키마 및 데이터는 구글드라이브 링크로 올립니다.


SELECT ITEM_2_VAL

,ROUND(AVG(ITEM_5_VAL),0) VAL_TOTAL -- test

,ROUND(AVG(ITEM_5_VAL),1) VAL_TOTAL -- 실제 필요한 코드

,ROUND(AVG(ITEM_5_VAL),2) VAL_TOTAL -- test

,ROUND(AVG(ITEM_5_VAL),3) VAL_TOTAL -- test

FROM   AVGTEST

WHERE  LEFT(DATA_DE,6)='202006'

GROUP BY ITEM_2_VAL

;


아래는 설명 이미지 입니다.

https://drive.google.com/file/d/1KiZCnjVVROeRV92K_RszOrlhuoqDYwqC/view

아래는 테스트 데이터 입니다.

https://drive.google.com/file/d/19FNXKsd-GsBTivkOq4EMJRMJUcj8rLYl/view?usp=sharing





Articles

1 2 3 4 5 6 7 8 9 10