
이번 글에서는 MSSQL에서 사용되는 데이터 타입 (Data types)의 의미와 BIT 데이터 타입에 대해 알아보도록 하겠습니다.
MSSQL 데이터 타입 (Data types)
사용자 | |||
No | 성명 | 생년월일 | 주소 |
1 | 김삼성 | 20230101 | 서울시 서울구 서울동 서울서로 111931번길 12 |
2 | 박삼성 | 20230102 | 경기도 경기구 경기동 경기서로 1234151번길 51 |
3 | 이엘지 | 20200101 | 대구시 대구구 대구동 대구서로 123413번길 12390 |
4 | 최엘지 | 20200102 | 부산시 부산구 부산동 부산서로 12341번길 415 |
데이터 타입이 어떤 건지 간단하게 알아볼게요.
데이터베이스에 위와 같은 사용자 테이블(Table)이 있다고 가정하고요. 테이블에는 컬럼이 있는데요.
(컬럼: 성명, 생년월일, 주소)
예를 들어 성명에 들어가는 사용자가 한국인인데 이름이 최대 4글자까지 있다고 가정하고요.
이름 저장하는 공간을 OOOO 4자리만 마련하면 되는데 OOOOOOOOOOOOO 이렇게 많은 공간을 만들어 두면 데이터 베이스 공간이 낭비되겠지요. 그래서 데이터 베이스의 공간을 절약하기 위해서 데이터 타입을 알아야 합니다.
MSSQL 데이터 타입 종류
- MSSQL 데이터 타입
- 정확한 수치
- 근사치
- 날짜 및 시간
- 문자열
- 유니코드 문자열
- 이진 문자열
- 기타 데이터 형식
테이터 타입은 위와 같이 여러 가지 종류가 있고요. 이번 포스팅에서는 정확한 수치에 해당되는 데이터 타입에 대해 알아보도록 하겠습니다.
MSSQL 데이터 타입 종류 - 정확한 수치
데이터
|
범위
|
범위 식
|
스토리지
|
형식
|
|||
bit
|
문자열 값 TRUE 및 FALSE는 비트 값으로 변환할 수 있습니다.
|
|
|
TRUE는 1로 변환 FALSE는 0으로 변환됩니다.
|
|||
tinyint
|
0 ~ 255
|
-2^0-1 ~ 2^8-1
|
1 byte
|
smallint
|
-32,768 ~ 32,767
|
-2^15 ~ 2^15-1
|
2 byte
|
int
|
-2,147,483,648 ~ 2,147,483,647
|
-2^31 ~ 2^31-1
|
4 byte
|
bigint
|
-9,223,372,036,854,775,808 to
|
-2^63 ~ 2^63-1
|
8 byte
|
9,223,372,036,854,770,000
|
|||
numeric
|
|
-10^38+1 ~ -10^38 - 1
|
|
decimal
|
|
-10^38+1 ~ -10^38 - 1
|
|
money
|
-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 (-922,337,203,685,477.58
|
|
8 byte
|
~922,337,203,685,477.58(Informatica의 경우) Informatica는 4개가 아닌 2개의 소수점만 지원합니다.)
|
|||
smallmoney
|
-214,748.3648 ~ 214,748.3647
|
|
4 byte
|
(Microsoft 문서 참조)
MSSQL BIT 데이터 타입 실습
BEGIN -- BIT 데이터 타입 테스트
DECLARE
@bit1 BIT
, @bit2 BIT
, @bit3 BIT
, @bit4 BIT
, @bit5 BIT
, @bit6 BIT
, @bit7 BIT
SET @bit1 = 'FALSE'; -- 결과: 0
SET @bit2 = 'TRUE'; -- 결과: 1
--SET @bit2 = 'AA'; -- 오류: varchar 값 'AA'을(를) 데이터 형식 bit(으)로 변환하지 못했습니다.
SET @bit3 = 0; -- 결과: 0
SET @bit4 = 1; -- 결과: 1
SET @bit5 = 12362346; -- 결과: 1
SET @bit6 = -1; -- 결과: 1
SET @bit7 = -1235235; -- 결과: 1
SELECT
@bit1 AS bit1
, @bit2 AS bit2
, @bit3 AS bit3
, @bit4 AS bit4
, @bit5 AS bit5
, @bit6 AS bit6
, @bit7 AS bit7
END
(SQL 편집 창 열고 위 내용 돌려보시면 나옵니다^^)

여러 가지 테스트를 해보았고요. bit에 문자열 같은 경우 'TRUE' 혹은 'FALSE'만 대입이 가능하고요.
숫자는 아무 숫자나 모두 가능한데 0 이 아닌 값은 모두 1로 변환되더라고요.
bit는 문자열 값 TRUE 및 FALSE는 비트 값으로 변환할 수 있습니다.
(TRUE는 1로 변환 FALSE는 0으로 변환됩니다.)
마무리
MSSQL의 데이터 타입의 의미와 정확한 수치 중에 BIT 데이터 타입에 대해 알아보았습니다.
이상 마칩니다.

'MSSQL' 카테고리의 다른 글
[MSSQL] 숫자형 데이터 타입 smallmoney 실습 (0) | 2024.07.08 |
---|---|
[MSSQL] 숫자형 데이터 타입 tinyint 실습 (0) | 2024.07.03 |
[MSSQL] BEGIN, END 사용 방법 (Procedure, IF, 등) (0) | 2024.06.30 |
[MSSQL] Procedure(프로시저) 생성 및 실행 방법 (0) | 2024.06.29 |
[MSSQL] SSMS 연결 오류 (SQL Server 서비스, 포트 확인 방법) (0) | 2024.06.28 |