1. 숫자 데이터 형식
BIT : 숫자 범위는 0또는 1, BOOLEAN형인 참과 거짓에 사용
INT : 정수형, 숫자 범위는 약 -21억 ~ +21억
SMALLINT : 정수형, 숫자범위는 -21,768 ~ 32,767
TINYINT : 양의 정수, 숫자범위는 0 ~ 255
BIGINT : 정수형, 숫자범위는 -2^63 ~ +2^63-1
2. 문자 데이터 형식
CHAR / NCHAR : 고정길이 문자형
VARCHAR : 가변 길이 문자형
NVARCHAR : 가변길이 문자형
※대용량 데이터베이스를 사용하는 경우, 4글자 미만을 저장하게 될 시 CHAR / NCHAR형식으로 설정하는 것이 INSERT / UPDATE시 더 좋은 성능을 발휘한다.
3. 날짜와 시간 데이터 형식
DATETIME : “YYYY-MM-DD 시:분:초” 형식으로 사용
DATE : 날짜 형식만 사용되며, “YYYY-MM-DD” 형식으로 사용
TIME : 나노초 단위까지 나오며, “시:분:초” 형식으로 사용
4. 기타 데이터 형식
CURSOR : T-SQL커서를 변수로 처리
TABLE : 테이블 자체를 저장, 임시 테이블과 비슷한 기능
XML : XML 데이터를 저장하기 위한 형식
GEOMETRY / GEOGRAPHY : 공간데이터 형식, 선,점 및 다각형 같은 공간데이터 개체를 저장하고 조작
++유니코드 데이터
문자 데이터를 저장하고 관리할 경우, 각 국가별 코드 페이지가 달라서 서로 호환되지 않는 문제점이 있다. 이런 경우 사용하는 형식은 nchar, nvarchar, ntext 형식이고 n의 National의 약자로 유니코드를 의미한다. 사용 시에는 N’문자열’형식을 취하는 것을 권장한다.
use tempdb
create table uniTest(korname nvarchar(10));
insert into uniTest values(N'홍길동'); --권장
insert into uniTest values('홍길동'); --실행되긴 하지만 권장하지 않음(os 한글, dbms가 한글)
insert into uniTest values(n'홍길동'); --에러
select * from uniTest;
↑소문자로 n을 입력한 경우에는 ???로 글자가 깨지는 것을 볼 수 있다.