SQL

[SQL] SQL Server 에서 다루는 자료형 모음

권벡터 2023. 6. 11. 15:00

숫자형

자료형 데이터 크기 (1 byte) 숫자 범위 설명
bit 1 0,1,NULL * boolean 형식으로 true or false으로 사용
tinyint 1 0 ~ 255 * 정수 데이터를 사용하는 정확한 숫자 자료형
* 숫자를 저장할 때 많이 사용
smallint 2 - 32.767 ~ 32,767
int 4 - (2^32) ~ (2^31) -1
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

 

문자형

자료형 데이터 크기 (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까지 크기 지정 가능
* 동영상 이미지 등 저장에 사용

 

날짜, 시간형

자료형 데이터 크기 (byte)  정확도 설명
time 3 ~ 5 100 ns 00:00:00.0000000 ~ 23.59:59.9999999까지 저장
date 3 1 day 0001-01-01 ~ 9999-12-31까지 저장되며 날짜만 저장
smalldatetime 4 1 minuite 1900-01-01 00:00:00 ~ 2079-06-06 23.59:59 까지 저장
datetime 8 0.00333 s 1753-01-01 00:00:00.000 ~ 9999-12-31 23:59:59.997 까지 저장
datetime2 6 ~ 8 100 ns DATETIME 형식에서 확장된 형식 
0001-01-01 00:00:00.0000000 ~ 9999-12-31 23:59:59.9999999 까지 저장 

datetimeoffset 8 ~ 10 100 ns 0001-01-01 00:00:00.0000000 ~ 9999-12-31 23:59:59.9999999 까지 저장
타임존 시간을 함께 저장

 

참고

문자 형 변환 가능 여부 테이블

from\to DATETIME FLOAT DECIMAL INT BIT NVARVCHAR VARCHAR
DATETIME   X X X X O O
FLOAT O   O O O O O
DECIMAL O O   O O O O
INT O O     O O O
BIT O O O     O O
NVARVCHAR O O O O O   O
VARCHAR O O O O O O