Background Image
조회 수 4818 추천 수 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. 큐브리드 매니저 호스트 접속 시 JDBC 드라이버 찾을 수 없는 오류 해결

    Date2016.03.28 CategoryCUBRID 매니저 By진우진 Views6778
    Read More
  2. 'Has been interrupted.' CUBRIDException 발생

    Date2016.01.07 Category운영관리 By주현 Views6598
    Read More
  3. Tomcat's JDBC Pool 사용 시 JNDI DataSource 설정

    Date2016.12.16 Category기타 By손승일 Views6508
    Read More
  4. 일정 범위 임의의 정수 생성 방법(random 함수 응용)

    Date2015.12.22 Category질의작성 By손승일 Views6473
    Read More
  5. ORACLE TRIGGER를 CUBRID TRIGGER로 변환하기

    Date2015.12.31 Category질의작성 By김창휘 Views6461
    Read More
  6. 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기

    Date2016.05.18 Category질의작성 By권호일 Views6370
    Read More
  7. CM(CUBRID Manager)을 이용하여 행정표준코드시스템의 기관코드 가져오기

    Date2015.12.28 Category마이그레이션 By권호일 Views6330
    Read More
  8. CUBRID BACKUP (linux, window)

    Date2015.12.30 Category운영관리 By박동윤 Views6251
    Read More
  9. MySQL 테이블 크기 조사하기-공유

    Date2015.12.31 Category마이그레이션 By주현 Views6209
    Read More
  10. 큐브리드 포트 정리

    Date2016.07.05 Category운영관리 By정만영 Views6106
    Read More
  11. FOR UPDATE

    Date2016.01.27 Category질의작성 By정만영 Views5990
    Read More
  12. 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기

    Date2016.08.10 Category질의작성 By성진 Views5590
    Read More
  13. 테이블 리스트 취합 SQL

    Date2016.03.19 Category질의작성 By김창휘 Views5522
    Read More
  14. CUBRID HA 제약 사항 및 확인 방법

    Date2015.12.29 Category응용개발 By손승일 Views5305
    Read More
  15. 브로커와 DB 간 연결 테스트

    Date2015.12.29 Category운영관리 By박동윤 Views4935
    Read More
  16. 산술 연산 결과를 피젯수 또는 젯수의 자리 수에 맞춰 보자.

    Date2016.03.01 Category운영관리 By성진 Views4818
    Read More
  17. Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기

    Date2016.03.21 Category질의작성 By김창휘 Views4647
    Read More
  18. CUBRID DB에서 critical section 정보 출력하기

    Date2015.12.31 Category응용개발 By주현 Views4613
    Read More
  19. Windows 환경에서 JAVA SP 사용 utf-8 한글 깨짐 해결

    Date2016.07.01 Category응용개발 By손승일 Views4594
    Read More
  20. CMT를 이용하여 원본 특정 테이블의 일부 데이터만 가져와 대상 테이블에 넣기

    Date2016.01.28 Category마이그레이션 By엄기호 Views4559
    Read More
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
/ 14

Contact Cubrid

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