DBMS_SQL/Oracle

SQL - 4. 자료형

onivv 2023. 12. 23. 12:25

#1 숫자형

자료형 데이터 크기 (byte) 숫자 범위 설명
bit 1 0, 1, NULL 불린(boolean) 형식으로
참(True,1) 또는 거짓(False,0)으로 사용
tinyint 1 0 ~ 255 정수 데이터를 사용하는
정확한 숫자 자료형으로
숫자를 저장할 때 가장 많이 사용
smalint 2 -32,768 ~ -32,767
int 4 -2^31(약 -21억) ~ 2^31-1(약 21억)
bigint 8 -2^63 ~ 2^63-1
decimal(p,s) 5 ~ 17 -10^38+1 ~ 10^38-1 전체 자릿수와 소수 자릿수가
고정된 숫자로,
최대 38자리 사용
numberic(p,s) 5 ~ 17 -10^38+1 ~ 10^38-1
float(n) 4 ~ 8 -1.79E+308 ~ 1.79E+308
real 4 -3.40E+38 ~ 3.40E+38 부동 소수점 숫자 데이터에 사용하는
근사 숫자 자료형
smallmoney 4 약 -21억 ~ 21억 통화 단위에 주로 사용하며
1/10000까지 정확하게 표현 가능
money 8 -2^63 ~ 2^63-1

 

▶ 숫자형 데이터의 형 변환(type casting)

  • 자동 형 변환 : 연산 대상의 자료형이 다를 경우 데이터 우선순위에 따라 시스템이 상위 자료형으로 변경하는 것
  • 강제 형 변환 : 사용자가 직접 자료형을 변경하는 것 (CATST, CONVERT, ...)
  • 자료형 우선순위
    • ... datetime ... > float > real > decimal > money > smallmoney > bigint > int > smallint > tinyint ...
    • > nvarchar > nchar > varchar > char ...

 

#2 문자형

  • 고정 길이 : 실젯값을 입력하지 않아도 지정한 만큼의 저장 공간을 사용
  • 가변 길이 : 실제 입력한 값의 크기만큼만 저장 공간을 사용
  • 유니코드 : 한글||특수문자... 저장할 때 사용 (1글자에 2byte) , 자료형에서 지정한 데이터 크기의 50%만 저장가능
자료형 데이터 크기 (byte) 설명
char(n) 0 ~ 8000 - 고정 길이 문자열
nchar(n) 0 ~ 8000 - 유니코드 고정 길이 문자열로 4000자 입력 가능
varchar(n|max) 0 ~ 2^31-1 (2GB) - 가변 길이 문자열로 n만큼의 크기 지정 가능
- max를 지정하면 2GB까지 가능
nvarchar(n|max) 0 ~ 2^31-1 - 유니코드 가변 길이 문자열
binary(n) 0 ~ 8000 - 고정 길이의 이진 데이터값
varbinary(n|max) 0 ~ 2^31-1 - 가변 길이 이진 데이터값
- n을 사용하면 1 ~ 8000까지 크기를 지정할 수 있고,
  max를 지정하면 2GB까지 크기 지정 가능
- 동영상 이미지 등 저장에 사용

 

 

#3 날짜형 & 시간형

자료형 데이터 크기 (byte) 정확도 설명
time 3 ~ 5 100나노초 00:00:00.0000000 ~ 23:59:59.9999999
date 3 1일 0001-01-01 ~ 9999-12-31
smalldatetime 4 1분 1900-01-01 00:00:00 ~ 2079-06-06 23:59:59
datetime 8 0.00333초 1753-01-01 00:00:00.000 ~ 9999-12-31 23:59:59.997
datetime2 6 ~ 8 100나노초 0001-01-01 00:00:00.0000000
~ 9999-12-31 23:59:59.9999999
datetimeoffset 8 ~ 10 100나노초 0001-01-01 00:00:00.0000000
~ 9999-12-31 23:59:59.9999999