1. 숫자 데이터 타입
정수형:
TINYINT: 0에서 255까지의 정수를 저장. 1바이트 공간 사용.
SMALLINT: -32,768에서 32,767까지의 정수를 저장. 2바이트 공간 사용.
INT: -2,147,483,648에서 2,147,483,647까지의 정수를 저장. 4바이트 공간 사용.
BIGINT: -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807까지의 정수를 저장. 8바이트 공간 사용.
부동 소수점:
FLOAT([n]): 대략 -1.79E+308에서 1.79E+308까지의 범위를 갖는 부동 소수점 숫자를 저장. n은 1에서 53까지 지정할 수 있으며, 저장 공간은 n에 따라 달라짐.
REAL: FLOAT(24)와 동일. 대략 -3.40E+38에서 3.40E+38까지의 범위.
고정 소수점:
DECIMAL([p[, s]]), NUMERIC([p[, s]]): 고정 소수점 숫자를 저장. p는 정밀도(총 자릿수), s는 스케일(소수점 이하 자릿수). p의 최대값은 38.
화폐 단위:
SMALLMONEY: -214,748.3648에서 214,748.3647까지의 화폐 단위. 4바이트 공간 사용.
MONEY: -922,337,203,685,477.5808에서 922,337,203,685,477.5807까지의 화폐 단위. 8바이트 공간 사용.
2. 날짜 및 시간 데이터 타입
DATE: 0001-01-01에서 9999-12-31까지의 날짜를 저장. 3바이트 공간 사용.
TIME: 하루 중 시간을 나타냄. 밀리초의 정밀도 지정 가능.
DATETIME: 1753-01-01에서 9999-12-31까지의 날짜와 시간을 저장. 8바이트 공간 사용.
DATETIME2: DATETIME보다 더 넓은 범위와 더 높은 정밀도를 제공.
SMALLDATETIME: 1900-01-01에서 2079-06-06까지의 날짜와 시간을 저장. 4바이트 공간 사용.
DATETIMEOFFSET: DATETIME2와 유사하지만, 시간대 오프셋이 포함됨.
TIMESTAMP: 자동으로 생성되고 관리되는 이진 숫자. 행이 수정될 때마다 고유한 숫자로 업데이트됨.
3. 문자열 데이터 타입
CHAR([n]): 고정 길이 문자열. n은 1에서 8,000까지 지정 가능.
VARCHAR([n | max]): 가변 길이 문자열. n은 1에서 8,000, max는 약 2GB까지의 데이터.
TEXT: 더 이상 사용되지 않음(비권장). 최대 2GB의 텍스트 데이터 저장 가능.
NCHAR([n]), NVARCHAR([n | max]): 유니코드 문자열. NCHAR은 고정 길이, NVARCHAR은 가변 길이. n은 1에서 4,000까지 지정 가능, max는 약 2GB까지의 데이터.
NTEXT: 유니코드 텍스트. 최대 1GB의 데이터 저장 가능하지만, NVARCHAR(MAX)를 대신 사용하는 것이 권장됨.
4. 이진 데이터 타입
BINARY([n]): 고정 길이 이진 데이터. 최대 8,000바이트.
VARBINARY([n | max]): 가변 길이 이진 데이터. n은 최대 8,000바이트, max는 최대 2GB.
IMAGE: 큰 이진 데이터를 저장. 최대 2GB. VARBINARY(MAX) 사용이 권장됨.
5. 기타 데이터 타입
SQL_VARIANT: 다양한 데이터 타입을 저장. 최대 8,000바이트.
UNIQUEIDENTIFIER: 글로벌 고유 식별자(GUID).
XML: XML 데이터를 저장.
CURSOR: 참조 커서.
TABLE: 임시 테이블.
JSON: JSON 형식의 데이터를 저장. SQL Server 2016 이상에서 NVARCHAR 타입으로 저장 및 조회 가능.
6. 공간 데이터 타입
GEOMETRY: 유클리드(평면) 기하학적 데이터를 저장.
GEOGRAPHY: 지리적 데이터를 저장. 지구의 둥근 모양을 고려한 데이터.
'Skills > MsSQL' 카테고리의 다른 글
[MSSQL] SQL-Server 자주 사용하는 옵션들 정리 (0) | 2023.11.13 |
---|---|
[MSSQL] CONSTRAINT 제약 조건 관련 문법 정리 (0) | 2023.11.13 |
MSSQL ROW_NUMBER()란? (0) | 2023.09.26 |
[Error] 연결된 서버 \"서버명\"의 OLE DB 공급자 \"공급자명\"에 대해 중첩 트랜잭션을 시작할 수 없습니다. (0) | 2023.09.21 |
MSSQL PK 제약조건 생성하는 법 (1) | 2023.09.18 |