형식 | 범위 | 설명 | 크기 |
---|---|---|---|
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 | |
tinyint | 0~255 | 공통 코드 작성 시 사용 | 1byte |
bit | 1,0 또는 NULL | bit | |
smallmoney | -214,748.3648 - 214,748.3647 | 4byte | |
money | 공식문서 참조 | 8byte | |
numeric (동의어 : decimal) | - 10^38 + 1 ~ 10^38 - 1 (최대 자릿수 사용 시) | numeric(p,s) |
제약 조건
에 check(컬럼명 > 0)
을 작성해준다.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 값
(1) float(n) : n의 기본값은 53, 1~53 사이여야 한다.
n값 | 자릿수 | 크기 |
---|---|---|
1~24 | 7자리 | 4byte |
25~53 | 15자리 | 8byte |
(2) real