개발/DB

SQL 데이터 타입 총정리 - SQL Data Type

ensuta 2022. 2. 4. 22:53
728x90
반응형

 

SQL 에는 다양한 데이터 타입이 있는데 아마도 값의 범위를 이용한 해킹을 방지하거나

데이터를 잘못 다루는 실수로 인한 피해를 줄이기 위해서 그런 것 같다.

 

다 사용하지는 않고 대표적인 것 몇 개만 외우면 된다.

정확한 수 타입 (Exact Numeric Data Types)

bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
tinyint 0 255
bit 0 1
decimal -10^38 +1 10^38 -1
numeric -10^38 +1 10^38 -1
money -922,337,203,685,477.5808 +922,337,203,685,477.5807
smallmoney -214,748.3648 +214,748.3647

big/small/tiny/regular int 정수 값

bit 비트 연산할 때 아니면 기계어 직접 다룰 때 핀 번호 당 값을 알기 위해 주로 사용

decimal 는 소수점 가능( money, smallmoney와 같이 회계에 주로 사용)

 

대략적 값 타입 (Approximate Numeric Data Types)

float -1.79E + 308 1.79E + 308
real -3.40E + 38 3.40E + 38

float 는 소수점 가능 (과학적계산 값에 주로 사용)

날짜/시간 타입 (Date and Time Data Types)

datetime Jan 12, 1823 Dec 21, 9345
smalldatetime Jan 17, 1932 Jun 15, 2672
date June 20, 1391 같은 거 저장
time 06:05 P.M. 같은 거 저장

datetime은  3.33 밀리 초의 정확도,

smalldatetime 1분 단위의 정확도를 가짐

문자열 값 타입 (Character Strings Data Types)

1 char
최대 8,000 자.( 유니코드가 아닌 길이 고정 데이터)
2 varchar
최대 8,000 자.(유니코드가 아닌 가변 길이 데이터)
3 varchar(max)
최대 2E + 31 자 입력 가능. 유니코드가 아닌 가변 길이 데이터 (SQL Server 2005 only)
4 text
최대 2,147,483,647 자. 유니코드가 아닌 가변 길이 데이터

char vs text

char는 비교적 짧다. 고정 값

text는 비교적 길다. 가변 값

 

var- 접두어가 가변 값임

유니코드 문자열 값 타입 (Unicode Character Strings Data Types)

1 nchar
최대 4,000 자.(길이 고정 데이터)
2 nvarchar
최대 4,000 자.(가변 길이 데이터)
3 nvarchar(max)
최대 2E + 31 자 (가변 길이 데이터)(SQL Server 2005 only)
4 ntext
최대 1,073,741,823 자. (가변 길이 데이터)

유니코드만 넣을 수 있다.

n- 접두어가 유니코드를 나타냄

바이너리 값 타입 (Binary Data Types)

1 binary
최대 8,000 바이트.(길이 고정 데이터)
2 varbinary
최대 8,000 바이트.(가변 길이 데이터)
3 varbinary(max)
최대 2E + 31바이트(가변 길이 데이터)(SQL Server 2005 only)
4 image
최대 2,147,483,647 바이트. (가변 길이 데이터)

바이너리 값만  넣을 수 있다.

기타 값 타입 (Misc Data Types)

sql_variant
다양한 "SQL Server 지원" 데이터 형식의 값을 저장 (text, ntext 및 timestamp를 제외. 이유는 모름)
timestamp

uniqueidentifier
고유식별자(GUID) 저장
xml
XML 데이터 저장. (SQL Server 2005 에서만 가능)
cursor
커서 객체에 대한 데이터 저장 (좌표값 등)
table
추후에 연산하기 위해 결과 집합만 저장

 

 

 

-tutorialspoint 참고-

 

반응형

'개발 > DB' 카테고리의 다른 글

SQL 종류와 활용  (0) 2022.02.20
SQLite로 배우는 SQL 표준의 기초  (0) 2022.02.04