티스토리 뷰

It

오라클 데이터 타입

Torrent green93 2022. 8. 14. 23:30
반응형

4. 데이터 타입

4-1 데이터 타입의 종류

CHAR

: 고정 길이의 문자열을 저장하며 최대 2,000바이트까지 저장. 지정된 길이보다 짧은 데이터 입력시 나머지 공간은 공백으로 채워진다. 데이터 미 입력시 NULL이 입력되며 지정된 길이보다 긴 데이터 입력시 오류발생. (주민등록번호와 같이 길이가 일정하거나 비슷한 경우에 사용하는 것이 좋다.)

VARCHAR2

: 가변 길이의 문자열을 저장하기 위해 사용. 최대 4,000바이트 저장. 지정된 길이보다 짧은 문자열이 입력되면 뒷부분은 NULL로 처리되어 저장공간을 낭비하지 않는다.(데이터 길이의 편차가 심하거나 NULL이 많이 입력되는 경우 사용하는 것이 효과적이다.)

문자형 데티터 타입의 비교

: where a=b 비교시

a : char(7) - sql****

b : char(3) - sql

공백의 수만 다를 경우에는 서로 동일한 데이터로 판정한다.

문자의 길이가 짧은 b에 공백을 추가하여 동일한 데이터로 판정함.

a : char(7) - sql****

b : varchar2(7) - sql

a > b 로 판단, 따라서 a=b 의 결과는 거짓으로 판정.

(이렇게 a, b 둘다 sql 의 데이터로 비교시 거짓이 나올 수도 있다, 프로그래머가 이런경우는 알기 어렵기때문에 테이블 설계시 신중한 설계가 필요하다.)

NUMBER

: 숫자를 저장하며 가변길이 데이터 타입으로 최대 38자리까지 가능하다.

소수는 NUMBER(precision, scale)형식으로 입력되고 precision은 소수점을 포함한 전체자리수, scale은 소수점 자리수이다. (precision 생략시 숫자입력하면 입력되는 숫자 값의 크기만큼 공간할당됨, scale 지정하지 않고 소수점 입력시 소수점 이하는 반올림되어 정수값만 출력된다.)

DATE

: 세기, 년도, 월, 일, 시간, 분, 초 의 날짜와 시간정보를 저장하기 위한 데이터 타입이다.

TO_DATE 함수는 문자 형태로 저장된 데이터를 날짜 형식으로 변환하는 함수이다.

SYSDATE 함수는 시스템의 현재 날짜와 시간을 반한하는 함수이다.




LOB

: 텍스트, 그래픽 이미지, 동영상, 사운드 등과 같이 구조화되지 않은 대용량의 텍스트나 멀티미디어 데이터를 저장하기 위한 데이터 타입으로 최대 4GB까지 저장할 수 있다.

오라클에서 제공하는 LOB 타입의 종류는 BLOB, CLOB, NCLOB, BFILE 등이 있다.

BLOB타입은 그래픽 이미지, 동영상, 사운드와 같이 구조화되지 않은 바이너리 데이터를 저장하기 위해 사용한다.

CLOB 타입은 e-BOOK과 같은 대용량의 텍스트 데이터를 저장, NCLOB타입은 국가별 문자셋 데이터 저장, BFILE타입은 바이너리 데이터를 파일 형태로 저장하며 읽기 전용인 관계로 내용을 변경할 수 없다.

TIMESTAMP

: DATE 데이터 타입의 확장된 형태로 백만분의 일초 단위까지 표현할 수 있다.

TIMESTAMP WITH TIME ZONE (TIMESTAMP데이터타입에 지역시간대를 함께 저장)

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP타입을 포함하는 테이블 생성

CREATE TABLE time_ex1(

id NUMBER(2),

basictime TIMESTAMP,

standardtime TIMESTAMP WITH TIME ZONE,

localtime TIMESTAMP WITH LOCAL TIME ZONE);

INSERT INTO time_ex1

VALUES(1, sysdate, sysdate, sysdate);

SELECT * FROM time_ex1;



INTERVAL YEAR TO MONTH

: 년과 월을 사용하여 두 날짜사이의 기간을 저장하기 위한 데이터 타입.

INTERVAL DAY TO SECOND

: 일, 시, 분, 초를 사용하여 두 날짜사이의 기간을 저장하기 위한 데이터 타입이다. (정밀한 시간 값을 저장할 때 유용하게 사용할 수 있다)




4-3 데이터 타입의 결정 전략.

실무에서 DB테이블 설계시 컬럼에 대한 적절한 데이터 타입을 결정하는 문제는 어플리케이션 개발시 오류를 줄이고 SQL 명령문의 검색 성능에도 영향을 미칠 수 있는 중요한 문제이다. 따라서 칼럼에 대한 데이터 타입을 결정 할때에는 향후 응용프로그램 개발의 효율성을 충분하게 고려하여 결정해야 한다.

반응형