[MSSQL] 데이터 유형(타입)

prana·2022년 11월 18일
0

database

목록 보기
32/38

데이터 타입

1) 정확한 수치

형식범위설명크기
bigint-2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807)int 범위를 초과할 경우, PK 설정 시 사용8byte
int-2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647)주 정수 데이터 형식4byte
smallint-2^15(-32,768) ~ 2^15-1(32,767)2byte
tinyint0~255공통 코드 작성 시 사용1byte
bit1,0 또는 NULLbit
smallmoney-214,748.3648 - 214,748.36474byte
money공식문서 참조8byte
numeric (동의어 : decimal)- 10^38 + 1 ~ 10^38 - 1 (최대 자릿수 사용 시) numeric(p,s)
  • 양수 값만 받고자 한다면, 제약 조건check(컬럼명 > 0)을 작성해준다.
  • int 의 값 범위 초과 시(2,147,483,647보다 큰 정수 상수)에는,
    int에서 decimal로 데이터 형식이 변경된다.

numeric(p,s)

  • p(전체 자릿수) : 최대 총 10진 숫자
    • -10^38 + 1 ~ 10^38 - 1

  • s(소수 자릿수) : 소수점 오른쪽에 저장되는 10진 숫자. p에서 s만큼의 숫자를 빼서, 소수점 왼쪽의 최대 자릿수가 결정된다.
    • 소수 자릿수 값은 0에서 p 사이여야 하고, 전체 자릿수가 지정된 경우에만 지정한다.
    • s 자릿수: 1~9자리일 때 5byte / 10~19자리일 때 9byte, / 20~28자리일 때 13byte / 29~38자리일 때 17byte
    • 상수 12.345는 전체 자릿수가 5, 소수 자릿수가 3인 numeric 값

2) 근사치(부정확한 수치)

  • 부동 소수점 숫자 데이터에 사용하는 근사 숫자 데이터 형식
  • 부동 소수점 데이터는 근사값이므로, 해당 데이터 형식 범위에 있는 모든 값을 정확하게 표현할 수는 없다.
  • real의 ISO 동의어는 float(24)

(1) float(n) : n의 기본값은 53, 1~53 사이여야 한다.

n값자릿수크기
1~247자리4byte
25~5315자리8byte

(2) real

  • 범위 : 3.40E+38에서 -1.18E - 38, 0과 1.18E-38에서 3.40E + 38
  • 4byte

0개의 댓글

관련 채용 정보