Background Image
조회 수 4817 추천 수 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 운영관리 'Has been interrupted.' CUBRIDException 발생 주현 2016.01.07 6594
76 운영관리 64bit OS 에서 사용가능한가요? admin 2008.11.21 17415
75 운영관리 64비트 윈도우환경에서 32비트 ODBC 사용하기 Prototype 2009.12.09 22677
74 운영관리 9.2 버전에서 복제 재구축(ha_make_slavedb.sh) 스크립트를 사용하려면 수정해야 할 부분 brightest 2013.10.24 12231
73 운영관리 Broker_log_top 결과 분석 방법 cubebridge 2009.06.18 11560
72 운영관리 CM이 아닌 서버(console)상의 쿼리 결과값을 저장하는 방법 cubebridge 2009.05.19 20200
71 운영관리 CSQL 로 쿼리 플랜을 볼때 주의해야 할 점 1 Prototype 2009.06.30 12382
70 운영관리 CSQL 에서 한글을 입력하는 방법 Prototype 2009.04.01 19350
69 운영관리 CUBRID 2008 R2.0 RPM 설치후 PHP모듈 로딩에 실패할 경우 Prototype 2009.12.10 14918
68 운영관리 CUBRID 2008 삭제시 제어판에서 삭제되지 않을시 해결법 file seongjoon 2009.04.13 15892
67 운영관리 CUBRID 2008 삭제시 주의사항 file seongjoon 2009.04.01 15288
66 운영관리 CUBRID 2008 설치시 주의사항 file seongjoon 2009.04.01 17499
65 운영관리 CUBRID 4.0 버전 IP/db_user 접속 제한 추가 기능 이용미 2011.12.09 9261
64 운영관리 CUBRID 4.0 서버 재부팅 후 CUBRID Tray 기동문제 해결방법 정만영 2011.08.31 12420
63 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2169
62 운영관리 CUBRID BACKUP (linux, window) file 박동윤 2015.12.30 6249
61 운영관리 CUBRID Database page크기 확인 방법 janus 2009.12.31 16018
60 운영관리 CUBRID HA 구성 후 구동중인 slave/replica node에서 write 하기 정만영 2015.07.15 9044
59 운영관리 CUBRID HA와 Primary key 제약조건 정만영 2015.04.21 11347
58 운영관리 CUBRID JAVA Stored Procedure의 GC로그 출력방법 janus 2009.12.01 15317
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