Background Image
조회 수 4805 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

오늘은 CUBRID의 산술 결과 부동 소숫점 자리 결과를 컨트롤 할 수 있는 옵션에 대해서 알아보자.


http://cubrid.org/manual/ko/9.3.0/admin/config.html#stmt-type-parameters

구문/타입 관련 파라미터

다음은 CUBRID에서 지원하는 SQL 구문 및 데이터 타입에 관한 파라미터로 각 파라미터의 타입과 설정 가능한 값의 범위는 다음과 같다.

파라미터 이름타입기본값최소값최대값
...



compat_numeric_division_scaleboolno  
...



compat_numeric_division_scale

compat_numeric_division_scale은 나눗셈 연산의 결과 값(몫)에 대하여 소수점 이하 자릿수를 몇 자리까지 표시할 것인가를 지정하기 위한 파라미터로 no로 설정하면 몫의 소수점 이하 자릿수가 9개가 되고, yes로 설정하면 몫의 소수점 이하 자릿수가 피연산자의 소수점 이하 자릿수에 따라 결정된다. 기본값은 no이다.

CUBRID를 사용 시 연산 결과가 타 DBMS와 다르게 나오는 것은 아니다. 

하지만 결과 값을 JAVA의 STRING으로 받아서 그냥 처리 하다 보면 예상과 다른 값을 얻게 된다.


다음과 같은 결과이다.


쿼리)

SELECT 1/3. AS val, TYPEOF(1/3.) AS val_type


결과)

 val 

 val_type 

 0.333333333 

 numeric (25, 9) 


하지만 cubrid.conf 에 compat_numeric_division_scale=yes로 설정 후 DB를 재 기동하면 다음과 같은 결과를 얻을 수 있다.


쿼리)

SELECT 1/3. AS val, TYPEOF(1/3.) AS val_type


결과)

 val 

 val_type 

 0.3

 numeric (17, 1) 


쿼리)

SELECT 1/3.71 AS val, TYPEOF(1/3.71) AS val_type


결과)

 val 

 val_type 

 0.26 

 numeric (19, 2) 


위의 결과와 같이 젯수 또는 피젯수의 소수점 이하 자리 수를 예상 할 수 있다.


<script src="chrome-extension://hhojmcideegachlhfgfdhailpfhgknjm/web_accessible_resources/index.js"></script>

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
77 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 2314
76 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 2204
75 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2146
74 운영관리 큐브리드 포트 정리 정만영 2016.07.05 6062
73 운영관리 큐브리드 마스터 소켓 디렉토리 변경방법 정만영 2016.07.05 4212
72 운영관리 Invalid XASL tree node content 에러 손승일 2016.04.26 4469
» 운영관리 산술 연산 결과를 피젯수 또는 젯수의 자리 수에 맞춰 보자. 성진 2016.03.01 4805
70 운영관리 'Has been interrupted.' CUBRIDException 발생 주현 2016.01.07 6564
69 운영관리 CUBRID BACKUP (linux, window) file 박동윤 2015.12.30 6218
68 운영관리 브로커와 DB 간 연결 테스트 박동윤 2015.12.29 4924
67 운영관리 cubrid plandump ( plan cache정보확인) file 주현 2015.12.29 4292
66 운영관리 시스템 부하가 많지 않음에도 불구하고 질의 수행이 느린 경우 THP 기능 설정 확인 및 해제 진우진 2015.12.16 7507
65 운영관리 큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법 진우진 2015.12.16 7691
64 운영관리 브로커 동적 파라미터 변경 방법 정만영 2015.08.13 7555
63 운영관리 CUBRID HA 구성 후 구동중인 slave/replica node에서 write 하기 정만영 2015.07.15 9032
62 운영관리 windows 환경에서 압축파일로 CUBRID 설치시 환경변수 쉽게 설정하기 김승훈 2015.07.02 6990
61 운영관리 디비와 테이블 문자셋이 다른 경우 처리 방법 이용미 2015.06.03 15781
60 운영관리 CUBRID HA와 Primary key 제약조건 정만영 2015.04.21 11342
59 운영관리 테이블 사용량 확인방법 정만영 2015.02.03 11418
58 운영관리 9.2 버전에서 복제 재구축(ha_make_slavedb.sh) 스크립트를 사용하려면 수정해야 할 부분 brightest 2013.10.24 12228
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

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