Background Image
조회 수 6408 추천 수 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. CUBRID 와 DBCP의 관계

    Date2016.12.14 Category응용개발 By엄기호 Views5204
    Read More
  2. 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기

    Date2016.08.10 Category질의작성 By성진 Views8200
    Read More
  3. 큐브리드 포트 정리

    Date2016.07.05 Category운영관리 By정만영 Views8587
    Read More
  4. 큐브리드 마스터 소켓 디렉토리 변경방법

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Date2016.01.07 Category운영관리 By주현 Views8507
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15

Contact Cubrid

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