일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JdbcTemplate
- AOP
- Framework
- spring framework
- @JUnit
- unix
- 마이바티스
- STS
- POJO
- @test
- SpringJDBC
- Dependency Injection
- Linux
- java
- JDBC TEMPLATE
- spring
- Spring JDBC
- pointcut
- @Spring-Test
- XML
- spring aop
- java spring
- 컨테이너
- Ubunt
- myBatis
- 리눅스
- @AspectJ
- 프로퍼티
- Di
- Spring Boot
- Today
- Total
개키우는개발자 : )
[오라클] 데이터베이스 객체의 종류-숫자 데이터 타입 본문
데이터 타입 |
설명 |
NUMBER[(p,[s])] |
가변숫자,p(1~38,디폴트 값은 38)와 s(-84~127,디폴트 값은 0)는 십진수 기준 최대 22byte |
FLOAT[(p)] |
NUMBER의 하위 타입, p는 1~128, elvhfxm rkqtdms 128, 이진수 기준,최대 22byte |
BINARY_FLOAT |
32비트 부동소수점 수, 최대 4byte |
BINARY_DOUBLE |
64비트 부동소수점 수, 최대 8byte |
테이블 생성,조회
실습) 생성된 테이블 컬럼의 타입과 길이를 user_rab_cols라는 시스템 뷰 조회
1 2 3 4 5 | CREATE TABLE ex2_3( COL_INT INTEGER, COL_DEC DECIMAL, COL_NUM NUMBER ); | cs |
숫자 타입은 총 4가지가 있긴 하지만 NUMBER형만 사용할 때가 많다.
다른 DBMS는 INTEGER와 같은 정수형, DECIMAL과 같은 실수형을 제공한다.
- user_rab_cols 조회
1 2 3 4 | SELECT column_id,column_name,data_type,data_length FROM user_tab_cols WHERE table_name = 'EX2_3' ORDER BY column_id; | cs |
- 결과
모두 NUMBER형 으로 반환 되었고 길이는 22byte 이다.디폴트 값인 38이 적용되어 최대 크기인 22byte를 차지하는것이다. NUMBER(p,s) 형식 으로 크기를 지정 할 수도 있다. p(precision, 정밀도) s(scale)
- p는 소수점 기준 모든 유효숫자 자리수를 의미한다. 만약 p에 명시한 것보다 큰 숫자값을 입력하면 오류가 발생한다.
- s가 양수면 소수점 이하, 음수이면 소수점 이상(소수점 기준 왼쪽) 유효숫자 자릿수를 나타낸다.
- s에 명시한 숫자 이상의 숫자를 입력하면, s에 명시한 숫자로 반올림 처리한다.
- s가 음수이면 소수점 기준 왼쪽 자릿수만큼 반올림한다.
- s가 p보다 크면 p는 소수점 이하 유효숫자 자리수를 의미한다.
NUMBER형 예제
숫자값 |
타입 |
결과 |
설명 |
123.54 |
NUMBER |
123.5 |
정상 |
123.54 |
NUMBER(3) |
124 |
S는 명시하지 않아 0,P가 3이므로 소수점 첫 자리에서 반올림 됨 |
123.54 |
NUMBER(3,2) |
오류 |
p가 3인데 입력값인 123.54는 유효숫자가 다섯 자리여서 오류, 유효숫자가 p보다 크면 오류 발생 |
123.54 |
NUMBER(5,2) |
123.54 |
정상 |
123.54 |
NUMBER(7,1) |
123.5 |
s가 1이므로 .54가 반올림되어 .5 |
123.54 |
NUMBER(7,-1) |
120 |
s가 -1이어서 소수점 왼쪽 첫 자리 3이 반올림되어 120 |
125.54 |
NUMBER(7,-1) |
130 |
s가 -1이어서 소수점 왼쪽 첫 자리 5가 반올림되어 130 |
0.1234 |
NUMBER(4,5) |
오류 |
유효숫자는 4개 맞지만 s가 5인데 네 자리수이므로 오류 발생 |
0.01234 |
NUMBER(4,5) |
0.01234 |
소수점 이하 다섯 째까지 유효숫자 4개, 정상 |
0.0001234 |
NUMBER(4,7) |
0.0001234 |
소수점 이하 일곱 째 자리까지 유효숫자 4개, 정상 |
0.0001234 |
NUMBER(3,7) |
오류 |
소수점 이하 일곱 째 자리까지 유효숫자는 1234, 4개인데 p가 3이므 로 오류 발생 |
0.0000123 |
NUMBER(3,7) |
0.0000123 |
소수점 이하 일곱 째 자리까지 유효숫자는 123, 3개이고 p가 3이므로 정상 |
0.00001234 |
NUMBER(3,7) |
0.0000123 |
소수점 이하 일곱 째 자리까지 유효숫자는 123, 4는 제외됨 |
오라클에서는 NUMBER 형만 사용해도 되며,
그 크기 설정에 있어 p와 s를 적절히 조정하면 된다.
'Oracle SQL Developer > 오라클SQL과 PL-SQL' 카테고리의 다른 글
[오라클] 데이터베이스 객체의 종류-제약조건 (0) | 2019.02.17 |
---|---|
[오라클] 데이터베이스 객체의 종류-날짜 데이터 타입 (0) | 2019.02.17 |
[오라클] 데이터베이스 객체의 종류-문자 데이터 타입 (0) | 2019.02.17 |
[오라클] 데이터베이스 객체의 종류-테이블 생성 (0) | 2019.02.17 |
샘플 스키마 설치하기 (3) | 2019.02.17 |