IT Log

[SQL Server] Data Type 본문

SQL/SQL Server

[SQL Server] Data Type

newly0513 2022. 1. 17. 15:58
728x90
반응형

Numerics ( 숫자 )

Data Type Range Storage
bigint -9,223,372,036,854,775,808) ~ 9,223,372,036,854,775,807) 8 bytes
int -2,147,483,648 ~ 2,147,483,647 4 bytes
smallint -32,768 ~ 32,767 2 bytes
tinyint 0 ~ 255 1 bytes
float - 1.79E+308 ~ -2.23E-308, 0 and 2.23E-308 ~ 1.79E+308
     < float(1) ~ float(24) -> 4 bytes  /  float(25) ~ float(53) -> 8 bytes >
4 bytes, 8 bytes
real - 3.40E + 38 ~ -1.18E - 38, 0 and 1.18E - 38 ~ 3.40E + 38 4 bytes
money -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807
(-922,337,203,685,477.58 ~
 922,337,203,685,477.58 for Informatica.
 Informatica only supports two decimals, not four.)
8 bytes
smallmoney - 214,748.3648 ~ 214,748.3647 4 bytes
decimal, number number(1) ~ number(9) : 5 bytes  /  number(10) ~ number(19) : 9 bytes
number(20) ~ number(28) : 13 bytes / number(29) ~ number(38) : 17 bytes
5 ~ 17 bytes

※ decimal, number

  • precision은 전체(소수점 좌우)의 크기를 결정하며, 1~38까지 가능. 기본값은 18
  • scale은 소수점 오른쪽 크기를 결정하며, precision에서 scale값을 빼면, 소수점 왼쪽 크기가 결정. 기본값은 0
  • decimal과 number는 precision 및 scale 조합에 따라 다른 데이터 형식으로 간주
  • decimal[(precision[, scale])] / number[(precision[, scale])] 와 같이 표현
    ex) decimal = decimal(18, 0)
         decimal(10, 8) -> 00.00000000

 


Date and time ( 날짜와 시간 )

Data Type Defaul format Range Length P, s Storage Default value
date YYYY-MM-DD 0001-01-01 ~ 9999-12-31 10 10, 0 3 bytes 1900-01-01
datetime   1753-01-01 ~ 9999-12-31 19 ~ 23   8 bytes 1900-01-01 00:00:00
datetime2 YYYY-MM-DD hh:mm:ss 0001-01-01 ~ 9999-12-31 19 ~ 27 7, 0 6 ~ 8 bytes 1900-01-01 00:00:00
time hh:mm:ss[.nnnnnnn] 00:00:00.0000000 ~ 23:59:59.9999999 8 ~ 12
8 ~ 16
  4 ~ 5 bytes 00:00:00
smalldatetime   1900-01-01 ~ 2079-06-06 19   4 1900-01-01 00:00:00
datetimeoffset YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm] 0001-01-01 ~ 9999-12-31 26   10 1900-01-01 00:00:00

String ( 문자열 )

Data Type Range Storage
binary 1 ~ 8000 n bytes
varbinary 1 ~ 8000 0 ~ 2,147,483,647 bytes
char 1 ~ 8000 n bytes
varchar 1 ~8000 ( 최대 2,147,483,647 ) n bytes
nchar 1 ~ 4000 n bytes x2
nvarchar 1 ~ 4000 n bytes x2
text 2,147,483,647 문자열 길이 bytes (유니코드)
ntext 1,073,741,823 문자열 길이의 x2 bytes (비 유니코드)
image 0 ~ 2,147,483,647  

※ text, ntext, image

  • 이후 버전에서 제거
  • nvarchar(max), varchar(max), varbinary(max)로 대체

Other ( 그 외 데이터 타입 )

  • cursor
  • rowversion
  • hierarchyid
  • uniqueidentifier
  • sql_variant
  • xml
  • Spatial Geometry Types
  • Spatial Geography Types
  • table

 

 

728x90
반응형

'SQL > SQL Server' 카테고리의 다른 글

[SQL Server] INSERT  (0) 2022.01.17
[SQL Server] DELETE  (0) 2022.01.17
[SQL Server] CREATE TABLE  (0) 2022.01.17
[SQL Server] CREATE DATABASE  (0) 2022.01.17
DROP  (0) 2019.12.12
Comments