반응형

numeric field overflow
  Detail: A field with precision 10, scale 3 must round to an absolute value less than 10^7.

 

  • numeric(precision,  scale), number(p,s), decimal(p,s)
    • precision: 정밀도, 최대유효숫자 자릿수
    • scale: 배율, 소수점 기준 자릿수 
    • fixed point 고정소수점 방식 - floating point방식에 비해 표현범위가 좁고 계산속도도 느리다고 함 - 속도 관련해서는 ?
    • 고정소수점을 사용하는 이유에 대해 아래와 같은 말도 있음
      • 수치형 데이터 타입은 정확한(exact) 형태와 근사치(approximate) 형태로 나누어 진다. 정확한 수치형 데이터 타입은 정확하고 일관된 값을 가져야 하는 경우에 사용된다. 대부분의 재무 관련 계산과 분석은 정확성을 위해 시스템이 자동적으로 유효숫자를 조정하지 못하도록 정확한 수치형 데이터 타입을 사용하는 것이 보통이다.
    • numeric, number, decimal이라고도 하며 표준 SQL을 따른다고 함
    • DB에서 숫자 처리할때 소수점 아래가 더 크면 끝부터 반올림당해서 잘리고 정수부분이 더 크면 overflow에러가 발생한다고 함(oracle, postgresql거의 그런듯..)

입력값 타입 저장되는 값
123.89 NUMBER 123.89
123.89 NUMBER(3) 124
123.89 NUMBER(3,2) exceeds precision
123.89 NUMBER(4,2) exceeds precision
123.89 NUMBER(5,2) 123.89
123.89 NUMBER(6,1) 123.9
123.89 NUMBER(6,-2) 100
0.01234 NUMBER(4,5) 0.01234
0.00012 NUMBER(4,5) 0.00012
0.000127 NUMBER(4,5) 0.00013
0.0000012 NUMBER(2,7) 0.0000012
0.00000123 NUMBER(2,7) 0.0000012
1.20E-04 NUMBER(2,5) 0.00012
1.20E-05 NUMBER(2,5) 0.00001

(출처: https://m.blog.naver.com/hanccii/220733159291)

 

  • integer / fraction - 이와 달리 정수부/소수부는 integer / fraction이라고 함

 

 

반응형

+ Recent posts