SQL 데이터 타입

min seung moon·2021년 2월 9일
0

Oracle

목록 보기
10/23

ORACLE에서 지원하는 데이터 형식의 종류

  • Oracle에서 데이터 형식의 종류는 30개 가까이 됨

1. 숫자 데이터 형식

  • 숫자형 데이터 형식은 정수, 실수 등의 숫자를 표현하는데 주로 NUMBER 데이터 형식 사용
데이터 형식	바이트 수	숫자 범위			설명
-------------------------------------------------------------------------------
BINARY_FLOAT	 4						32bit 부동 소수점
BINARY_DOUBLE	 8						64bit 부동 소수점
NUMBER(p,(s))	 5 ~ 21		p : 1 ~ 38, s : 84 ~ 127	전체 자릿수(p)와 
								소수점 자릿수(s)를 가진 숫자형

2. 문자 데이터 형식

  • CHAR, NCHAR 형식은 고정길이 문자형으로 자릿수가 고정되어 있음
  • 영어 외에는 NCHAR, NVARCHAR2, NCLOB을 사용
데이터 형식	바이트 수	설명
----------------------------------------------------------------------------------------------
CHAR[(n)] 	1~2,000		고정길이 문자형, n을 1부터 2,000까지 지정, character의 약자
				숫자없이 CHAR만 사용하면 CHAR(1)과 동일
NCHAR[(n)]	2~2,000		유니코드 고정길이 문자형, 고정길이 문자형, n을 1부터 1000까지 지정
				한글을 저장할 수 있으므로, 한 글자당 2Byte가 사용됨
                		National character의 약자, 숫자없이 NCHAR만 사용하면 NCHAR(1)과 동일
VARCHAR2(n)	1~4,000		가변길이 문자형, n은 1~4,000까지의 크기를 지정
				Variable character의 약자
NVARCHAR2(n)	2~4,000		유니코드 가변길이 문자형, n은 1 ~ 2,000까지 크기를 지정,
				한글 저장할 수 있으므로 한글자 당 2Byte가 사용됨
                		National Vriable character의 약자
CLOB		최대 128TB	대용량 텍스트의 데이터 타입(영문), Charter Long OBject의 약자
NCLOB		최대 128TB	대용량 텍스트의 유니코드 데이터타입(한글, 일본어, 한자 등),
				National CLOB의 약자

3. 이진 데이터 형식

  • BLOB이나 BFILE은 주로 이미지, 동영상, 음악, 지도 제이터 등을 저장하기 위한 데이터 형식
  • 주로 BLOB를 사용함
데이터 형식	바이트 수	설명
----------------------------------------------------------------------------------------------
BLOB		최대 128TB	대용량 이진(Binary) 데이터를 저장할 수 있는 데이터 타입
				Binary LOB의 약자
BFILE		운영체제에서	대용랑 이진(Binary) 데이터를 파일 형태로 저장함
		허용하는 크기	Oracle 내부에 저장하지 않고, 운영체제에 외부 파일 형태로 저장됨
        	(대게 4GB)	Binary FILE의 약자

4. 날짜와 시간 데이터 형식

  • 날짜 형식은 주로 DATE 형식을 사용
데이터 형식	바이트 수	설명
----------------------------------------------------------------------------------------------
DATE		7		날짜는 기원전 4712년 1월 1일부터 9999년 12월 31일까지 저장되며
				저장되는 값은 연, 월, 일, 시, 분, 초가 저장됨
TIMESTAMP	11		DATE와 같으나 밀리초 단위까지 저장됨
TIMESTAMP	13		날짜 및 시간대 형태의 데이터 형식
WITH TIMEZONE
TIMESPAMP	11		날짜 및 시간대 형태의 데이터 형식
WITH LOCAL			단 조회 시에는 클라이언트의 시간대로 보여짐
TIME ZONE

5. 기타 데이터 형식

데이터 형식	바이트 수	설명
----------------------------------------------------------------------------------------------
RAWID		10		행의 물리적인 주소를 저장하기 위한 데이터 형식으로
				모든 행에 자동으로 RAWID 열이 생성됨, ROW IDentity의 약자
XML Type	N/A		XML 데이터를 저장하기 위한 데이터 형식
URI Type	N/A		URL 형식의 데이터를 저장하기 위한 데이터 형식

번외1. CLOB, BLOB

  • LOB(Long OBject)을 저장하기 위해서 CLOB(Charter LOB), BLOB(Binary LOB) 데이터 형식을 지원

번외2. 유니코드 데이터

  • 여러 언어를 처리한다면 NCHAR, NVARCHAR2, NCLOB 형식을 사용하는것이 좋음, N은 National의 약자로 유니코드를 의미 함
  • 유니코드 데이터 형식은 NCHAR, NVARCHAR2, NCLOB은 CHAR, VARCHAR2, CLOB과 동일하게 사용하면 되지만, 다음의 몇가지 차이점이 있음
    • 유니코드 문자 저장 시에는 내부적으로 더 넓은 공간이 필요하다, 즉 CHAR(4)는 4바이트지만 NCHAR(4)는 8바이트를 내부적으로 차지한다
    • NCHAR의 열의 최대 크기는 2,000이 아닌 그의 절발인 1,000이다, 이유는 유니코드는 2바이트의 공간을 요구하기 때문이다
    • 유니코드의 상수를 지정하기 위해서는 원적으로 N'문자열'과 같은 형식을 사용한다
    • 유니코드는 무자에만 관련된 얘기이며, 숫자/날짜 등에서는 전혀 실경 쓸 필요가 없다.
profile
아직까지는 코린이!

0개의 댓글