정수 값을 나타낼 때 사용하는 타입들.
SMALLINT(=INT2)INTEGER(=INT, =INT4)BIGINT(=INT8)INTEGER의 범위로 충분하지 않을 때 사용되는 타입, 64비트의 정수 값정수 시퀀스를 생성하는 특별한 타입. 주로 테이블의 기본 키 값으로 사용되는 경우가 많다.
SMALLSERIAL(=SERIAL2)SERIAL(=SERIAL4)BIGSERIAL(=SERIAL8)부동 소수점을 나타내는 데이터 타입.
정확하게 변환할 수 없고 근사값으로 저장 되기 때문에 정확한 연산에 적합하지 않다.
FLOAT(n)REAL(=FLOAT4)DOUBLE PRECISION(=FLOAT8)소숫점 이하의 scale 자릿수가 있는 precision 자리의 실수를 나타내는 타입.
정밀한 값을 보장하므로 정확한 연산에 적합하다.
하지만 FLOAT 타입들에 비해 성능이 떨어지는 단점이 있다.
NUMERIC(p, s)CREATE TABLE location (
id INTEGER,
latitude NUMERIC(9, 6),
longitude NUMERIC(9, 6)
);
위와 같이 위도 경도를 저장하기 위해 NUMERIC(9, 6)으로 지정해주면 113.654126나 62.168234와 같은 값을 저장할 수 있다.
만약 113.6541269를 넣으면 소수점에서 반올림하여 scale을 맞춰 113.654127이 된다.