Background Image
조회 수 4815 추천 수 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>

  1. 큐브리드 마스터 소켓 디렉토리 변경방법

    Date2016.07.05 Category운영관리 By정만영 Views4218
    Read More
  2. Windows 환경에서 JAVA SP 사용 utf-8 한글 깨짐 해결

    Date2016.07.01 Category응용개발 By손승일 Views4592
    Read More
  3. INSTR함수 사용하기

    Date2016.06.29 Category질의작성 By엄기호 Views9260
    Read More
  4. group_concat(문자열 그룹처리) 함수 사용하기

    Date2016.06.29 Category질의작성 By권호일 Views28239
    Read More
  5. 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기

    Date2016.05.18 Category질의작성 By권호일 Views6366
    Read More
  6. Invalid XASL tree node content 에러

    Date2016.04.26 Category운영관리 By손승일 Views4477
    Read More
  7. ORACLE 테이블 및 컬럼 COMMENT 일광등록 스크립트

    Date2016.04.04 Category질의작성 By김창휘 Views9335
    Read More
  8. Windows에서 32bit 버전의 PHP 설치 후 CUBRID와 연동 실패 시 해결 방법

    Date2016.03.28 Category응용개발 By진우진 Views4523
    Read More
  9. 큐브리드 매니저 호스트 접속 시 JDBC 드라이버 찾을 수 없는 오류 해결

    Date2016.03.28 CategoryCUBRID 매니저 By진우진 Views6773
    Read More
  10. 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인

    Date2016.03.21 Category질의작성 By성진 Views4178
    Read More
  11. Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기

    Date2016.03.21 Category질의작성 By김창휘 Views4646
    Read More
  12. 테이블 리스트 취합 SQL

    Date2016.03.19 Category질의작성 By김창휘 Views5522
    Read More
  13. 산술 연산 결과를 피젯수 또는 젯수의 자리 수에 맞춰 보자.

    Date2016.03.01 Category운영관리 By성진 Views4815
    Read More
  14. 테이블 컬럼 변경 및 추가

    Date2016.02.29 Category질의작성 By정만영 Views21838
    Read More
  15. CMT를 이용하여 원본 특정 테이블의 일부 데이터만 가져와 대상 테이블에 넣기

    Date2016.01.28 Category마이그레이션 By엄기호 Views4558
    Read More
  16. FOR UPDATE

    Date2016.01.27 Category질의작성 By정만영 Views5990
    Read More
  17. 'Has been interrupted.' CUBRIDException 발생

    Date2016.01.07 Category운영관리 By주현 Views6586
    Read More
  18. 각 테이블 PK 유무 확인 쿼리문

    Date2016.01.01 Category질의작성 By엄기호 Views9012
    Read More
  19. ORACLE TRIGGER를 CUBRID TRIGGER로 변환하기

    Date2015.12.31 Category질의작성 By김창휘 Views6460
    Read More
  20. CUBRID DB에서 critical section 정보 출력하기

    Date2015.12.31 Category응용개발 By주현 Views4586
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

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