최성준 님이 설명중에서 혹시 scale과 precision이 바뀐게 아닌지요?
scale : 숫자의 표현범위
precision : 숫자의 정밀도
즉 숫자를 84자리(10의 84승)부터 소숫점 127자리(10의 마이너스 127승)까지 표현은 되나 유효숫자의 갯수는 38개까지만 지원된다.
모든 숫자는 x.xxxxxxxxxxxxxxxxxxxxxxx * 10의 몇승 이런식으로 표현할수 있지요.
여기서 38개의 x는 유효하고 39번째부터는 0와 같다는 식의 의미가 아닌가 합니다.
그런데 고채현님의 문제(number(3,6)이 생성되지 않는 문제)는 잘 모르겠군요.
그럼 이만.
>>최성준 님께서 쓰시길<<
::
:: >>고채현 님께서 쓰시길<<
::
:: :: 안녕하세요.
:: :: 오라클의 자료형에 대한 질문입니다.
:: :: Number(p,s)형에서 precision은 1~38까지, 그리고 scale은 -84~127이라고 되어있습니다.
:: :: 여기서 p부분과 s부분을 제가 몇가지 조합하여 넣어보았는데 궁금한 부분이 생겼습니다.
:: :: 예를 들어 Number(3, 6)이라고 하면 생성이 되질 않더군요.
:: :: 근데 왜 오라클에선 p는 38까지 s는 127까지 있는지 궁금하네요.
:: :: 전체자리수가 소수점이하자리수보다 작게 존재한다는게 이해가 가질 않습니다.
:: :: 왜 이렇게 구성되어 있나요?
:: :: 답변 부탁드립니다.
:: :: 고맙습니다.
:: precision (total number of digits)
:: scale (number of digits to right of decimal point)
:: 이 의미만 잘 생각하시면 됩니다.
:: precision은 데이타가 저장하는 자리수의 범위이고
:: scale 정밀도 정도로 생각하시면
:: create table test (a number(38,127));
:: insert into test values(0.0000000000000000000000000000000000000000000000000000000000000000000000
:: 0000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111);
::
:: A
:: ----------
:: 1.000E-127
:: 아마도 이게 한계인거 같군요.(1은 38개 유효한 값은 1은 127번째인곳까지)
|