모든 숫자 타입은 UNSIGNED
옵션을 사용할 수 있습니다. UNSIGNED 옵션을 사용하면 0과 양수만을 표현하게 됩니다.
타입(크기)
우선 가장 기본적인 숫자라고 할 수 있는 정수 타입에 대해 알아보겠습니다.
컴퓨터의 실수 표현에는 고정 소수점
과 부동 소수점
방식이 존재합니다. 두 표현 방식을 아주 간단하게 이야기 해보자면, 고정 소수점
은 정확한 데이터를 위해, 부동 소수점
은 데이터 값의 표현을 위해서 사용됩니다.
고정 소수점 방식
에는 DECIMAL
또는 NUMERIC
키워드를 사용합니다. 이 키워드는 크기 표현란에, 정밀도와 스케일을 넣습니다.
DECIMAL(정밀도, 스케일)
정밀도(precision)
은 총 자릿수를 의미하고, 스케일(scale)
은 소수점 자릿수를 의미합니다. 만약 DECIMAL(3, 1)과 같은 표현식이 온다면 해당 컬럼의 표현가능한 고정 소수점 수는 -99.9 ~ 99.9가 됩니다.
부동 소수점 방식
에는 FLOAT
와 DOUBLE
이 사용됩니다. 부동 소수점에는 단정도 형식(single-precision)
과 배정도 형식(double-precision)
이 존재합니다. 부동 소수점 방식은 다음과 같이 사용하고, 표시한 정밀도에 따라서 FLOAT나 DOUBLE이 자동으로 선택됩니다.
FLOAT(정밀도)
단정도 형식
은 FLOAT
키워드가 선택됩니다. FLOAT는 0~23 사이의 정밀도를 가지며, 4 byte 크기를 갖습니다.
배정도 형식
은 DOUBLE
키워드가 선택됩니다. DOUBLE은 0~53사이의 정밀도를 가지며, 8 byte 크기를 갖습니다.
비트
는 0/1의 binary 값을 저장하는 타입입니다. 비트 타입에는 1 ~ 64 비트의 범위가 올 수 있으며, 생략시 기본값인 1이 적용됩니다.
BIT(비트수)
비트는 지정된 비트수보다 적은 크기의 값이 들어가면 자동으로 앞을 0으로 채워줍니다. BIT(4)의 컬럼에 01이라는 값을 넣으면 자동으로 0001로 변환되어 저장됩니다.