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 운영관리 백업파일을 이용하여 데이터베이스가 없는 다른 서버에서 복구하는 방법 admin 2008.11.21 22044
76 운영관리 HP-ux에서 jvm loading이 실패하는 경우 조치 사항 admin 2008.11.21 22432
75 운영관리 데이터베이스를 다른 머신으로 옮기는 방법 admin 2008.11.21 27676
74 운영관리 64bit OS 에서 사용가능한가요? admin 2008.11.21 17415
73 운영관리 libjvm.so 찾지 못하여 서버 구동이 되지 않은 경우 admin 2008.11.21 26468
72 운영관리 SElinux 환경에서 CUBRID 사용하기 2 admin 2008.11.21 25505
71 운영관리 CUBRID 사용시 방화벽 설정 3 admin 2008.11.21 30999
70 운영관리 CUBRID 2008 설치시 주의사항 file seongjoon 2009.04.01 17499
69 운영관리 CUBRID 2008 삭제시 주의사항 file seongjoon 2009.04.01 15288
68 운영관리 CSQL 에서 한글을 입력하는 방법 Prototype 2009.04.01 19350
67 운영관리 큐브리드매니져를 이용한 데이터베이스 자동 백업 남재우 2009.04.01 19052
66 운영관리 데이터베이스 볼륨 자동 증가 설정 남재우 2009.04.01 18808
65 운영관리 CUBRID 2008 삭제시 제어판에서 삭제되지 않을시 해결법 file seongjoon 2009.04.13 15892
64 운영관리 막무가내 DBA의 DISK 장애 대처 정병주 2009.04.16 20444
63 운영관리 CM이 아닌 서버(console)상의 쿼리 결과값을 저장하는 방법 cubebridge 2009.05.19 20200
62 운영관리 TIME_TO_KILL과 SESSION_TIMEOUT에 대한 정리 cubebridge 2009.05.27 13191
61 운영관리 csql 데이터 입력방법 정만영 2009.06.09 213383
60 운영관리 Broker_log_top 결과 분석 방법 cubebridge 2009.06.18 11560
59 운영관리 큐브리드 백업방법 정만영 2009.06.18 24565
58 운영관리 큐브리드 사용포트 정리 3 정만영 2009.06.19 29780
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