데이터베이스/Oracle

[Oracle] 문자 자료형, 숫자 자료형

반응형

문자자료형

1.CHAR
CHAR은 고정길이 문자열을 저장
사용법 : 변수명 CHAR(크기 [CHAR | BYTE]) => COL_CHAR1 CHAR (10 CHAR)
-> 10 BYTE에 ABC를 입력하면 ABC 뒤를 SPACE로 처리를 하여 10byte 모두 사용 된다.
-> 예제체럼 (10BYTE)선언후 '가' 값을 넣어주면 한글 1글자는 3byte이고 나머지 공백공간(SPCAE) 9byte 이므로

총 12byte로 계산이 된다.
가나' -> 6byte + 8byte = 14byte

BYTE수는 LENGTHB(컬럼명) 으로 확인 할 수있다.

SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE

 

2.VARCHAR, VARCHAR2
가변길이 문자열을 저장
사용법 : 변수명 VARCHAR2(크기 [CHAR | BYTE]) => COL_VARCHAR1 VARCAHR2 (10 BYTE)

A B C              

10byte에 ABC를 입력하면 ABC 3byte 사용

 

3.NCHAR, NVARCHAR2

다국적 언어를 저장. 기본적인 기능은 CHAR, VARCHAR2와 동일하다!

차이점은 byte, char의 지정이 불가능하며 모두 char로 인식하고 저장된다.

사용법 : 변수명 NCHAR(크기) => COL_NCHAR1 NCHAR (10)

사용법 : 변수명 NVARCHAR2(크기) => COL_NVARCHAR1 VARCHAR2 (10)

 

4.LONG

LONG은 VARCHAR2의 최대크기 제한보다 큰 텍스트 문자열을 저장할 때 사용!

최대 2GB까지 저장 가능하다.

사용법 : 변수명 LONG => COL\_LONG LONG

제한사항

-한 테이블에 오직 하나의 LONG 컬럼이 허용

-LONG 형 컬럼은 인덱스 불가

-LONG 형 컬럼은 무결성 제약 조건에 사용 불가

-LONG 형 컬럼은 SELECT 문에서 WHERE, GROUP BY, ORDER BY, CONNECT BY, DISTICNT와 사용 불가

-LONG 형 컬럼은 함수에서 사용 불가

 

5.CLOB, NCLOB

CLOB는 기존의 LONG을 대체하기 위해 큰 텍스트 문자열을 저장할 때 사용 하며 최대 4GB까지 저장 가능

사용법 : 변수명 CLOB => COL\_CLOB1 CLOB

NCLOB는 다국적 언어를 저장. 기본적인 기능은 CLOB와 같다!

사용법 : 변수명 NCLOB => COL\_NCLOB1 NCLOB

LONG을 개선한 자료형으로 LONG형과 같은 제한사항은 없다!

숫자 자료형

NUMBER

정수, 실수와 같은 숫자형 자료를 저장

사용법 : 변수명 NUMBER(정밀도 [, 스케일])

(부동소수점)

데이터에 따라 소수점의 위치가 변경되는 경우

COL\_NUM1 NUMBER

1 2 3 4 . 5 6 7    

(고정소수점)

데이터의 소수점 위치가 고정되는 경우

1234.56789 입력했을 경우!

COL\_NUM1 NUMBER(5)

            1 2 3 5

COL\_NUM1 NUMBER(5,2)

      1 2 3 4 . 5 7

COL\_NUM1 NUMBER(*,2)

      1 2 3 4 . 5 7

정밀도 : 1 ~ 38, 스케일 : -84 ~ 127

※정밀도는 생략이 불가능하며, 생략 대신 *로 처리!

정밀도 == 절대 수의 크기 (12.5 == 3) == 유효숫자(전체 숫자의 갯수)

 

반응형