1. 숫자형 ( NUMBER )
- number 데이터 타입 지원
- 정수와 실수 모두 표현 가능 -- 고정소수점 = 정수, 가변소수점 = 실수
( 사용형식 )
컬럼명 NUMBER[(정밀도 [, 스케일])]
- 정밀도 : 전체자리수(단, 정밀도 > 스케일 인경우)
1 ~ 38 까지의 정수 사용
- 스케일 : 소숫점이하의 자리수(단, 양수인 경우, 음수인경우에는 소숫점 이상의 자리수)
-84 ~ 127 사이의 정수 사용
예제)
입력값 선언형식 저장값
-----------------------------------------
123,456.78 NUMBER 123,456.78
123,456.78 NUMBER(*,1) 123,456.8 --소수점 두번째 자리에서 반올림
123,456.78 NUMBER() 123,457 --소수첫재짜리에서 반올림해서 소수점없애라
123,456.787 NUMBER(9,2) 123,456.79 --소수점 셋째 자리에서 반올림
123,456.78 NUMBER(6) 123,457 --스케일생략=0 소수첫재반올림해서 정수부분만 나타내어라
123,456.78 NUMBER(6,0) 123,457
123,456.78 NUMBER(5) 에러 --자리수가 부족해서 에러가난다
123,456.78 NUMBER(7,-2) 123,500
------------------------------------------
**정밀도보다 큰 스케일이 사용된 경우
-(스케일 - 정밀도) : 소숫점이하에서 나올 '0'의 갯수
-스케일 : 소숫점 이하의 자리수
입력값 선언형식 저장값
---------------------------------------
12.34 NUMBER(4,5) 에러
12.3 NUMBER(3,5) 에러
0.01234 NUMBER(4,5) 0.01234
0.001234 NUMBER(3,5) 0.00123 -- 5-3=2 소수점이하 0두개나오고 5째자리까지 나오게반올림
---------------------------------------
SELECT ROUND((100/3)*100,2)||'%' FROM DUAL;
CREATE TABLE TEMP05(
COL1 NUMBER,
COL2 NUMBER(*,1),
COL4 NUMBER(9,2),
COL5 NUMBER(6),
COL6 NUMBER(6,0),
COL7 NUMBER(5),
COL8 NUMBER(7,-2));
INSERT INTO TEMP05 VALUES(123456.78,123456.78,123456.78,123456.78,123456.78,
12345.78,123456.78);
INSERT INTO TEMP05 VALUES(123456.78,123456.78,123456.789,123456.78,123456.78,
12345.78,123456.78);
SELECT * FROM TEMP05;
'데이터베이스 > ORACLE' 카테고리의 다른 글
8. 기타 자료형 ( RAW, BFILE, BLOB ) (0) | 2021.03.15 |
---|---|
7. 날짜형 ( DATE ) (0) | 2021.03.15 |
5. 문자열 ( VARCHAR, CLOB ) (0) | 2021.03.15 |
4. SQL명령 / 자료형 ( CHAR ) (0) | 2021.03.15 |
3. ALTER (0) | 2021.03.15 |