💻Programming/Oracle

[Oracle/오라클] 데이터 타입 - 숫자자료형

horang_dev 2021. 3. 11. 20:59

 숫자자료형 

 - NUMBER로 제공

 - 실수, 정수 모두 처리 가능

 

  NUMBER [ ( 정밀도 | * [ , 스케일 ] ) ]

    - 표현 범위 : 10e-130 ~ 9.9999...9e125

    - 정밀도 : 전체 자리 수 (1~38)

    - 스케일 : 소숫점 이하의 자리 수 

    - '*' 는 38자리 이내에서 사용자가 입력한 데이터를 저장할 수 있도록 시스템이 자리를 확보

    - '스케일'이 생략되면 '0'으로 간주

    - 저장은 스케일+1번째 자리에서 반올림하여 '스케일'자리 수까지 저장

    - '스케일'이 음수이면 정수 부분에서 반올림이 수행됨.

 

ex)

 1) 정밀도 > 스케일
    - NUMBER ;  -- 사용자가 입력한 자료 그대로를 저장
    - NUMBER ( *, 3 ) ;
    - NUMBER ( 10,3 ) ;
    - NUMBER ( 10 ) ;
---------------------------------------------------------------------------
    입력 값                 선언                             저장값
---------------------------------------------------------------------------
12345678.4567          NUMBER (10,2)            12345678.46 -- 전체 10자리. 소숫점 3번째 자리까지
12345678.4567          NUMBER                      12345678.4567
12345678.8567          NUMBER (10[,0])          123456789 -- 주로 사용
12345678.4567          NUMBER (*,2)              12345678.46
12345678.4567          NUMBER (9,2)              오류

---------------------------------------------------------------------------

 

 

 2) 정밀도 < 스케일
    - 정밀도 : 소숫점 이하에서 '0'이 아닌 유효숫자의 갯수
    - [스케일 - 정밀도] : 소숫점 이하에서 맨 처음에 존재하는 '0'의 갯수
    - 스케일 : 소숫점 이하의 자리 수 
---------------------------------------------------------------------------
    입력 값                 선언                            저장값
---------------------------------------------------------------------------
123.4567                NUMBER (2,4)                   오류
0.23                        NUMBER (3,5)                   오류
0.023                      NUMBER (2,3)                    0.023
0.0023                    NUMBER (2,4)                     0.0023
0.0002345              NUMBER (3,6)                    0.000235 : 소숫점 3번째 자리까지 표현 

---------------------------------------------------------------------------


 

 

반응형