데이터 타입
PostgreSQL에서 자주쓰이는 데이터 타입들을 알아본다
숫자
- integer :
- 정수만을 저장할 수 있는 숫자타입 - numeric (가변적크기) :
- 정수 또는 소수값을 저장한다.(Oracle의 Number타입) - serial :
- PostgreSQL에서 지원하는 타입으로 시퀀스를 사용한 auto increment 기능이 있다.
--serial타입으로 칼럼을 생성할때,
CREATE TABLE test( id serial );
--내부적으로 실행되는 SQL문
CREATE SEQUENCE test_id_seq;
CREATE TABLE table_name ( id integer NOT NULL DEFAULT nextval('test_id_seq'));
ALTER SEQUENCE table_name_id_seq OWNED BY table_name.id;
문자
- varchar (n) :
- 제한이 있는 가변길이 - text :
- varchar처럼 가변길이이나 크기가 무제한이다.
- varchar, char에 비해 약간의 오버헤드가 발생한다. - char (n) :
- 고정길이(남은자리는 널문자로 채움)
- 문자열 길이 계산 시 널문자는 포함하지 않는다. - bpchar (n) :
- blank-padded char
- 고정길이(남는 자리 공백으로 채움)
날짜/시간
- timestamp :
- 날짜+시간 (2023-05-01 12:52:43)
- current_timestamp로 현재 날짜와 시간을 조회할 수 있다. - date :
- 날짜 (2023-05-01)
- current_date로 현재 날짜를 조회할 수 있다. - time :
- 시간 (12:52:43)
- current_time으로 현재 시간을 조회할 수 있다. - interval :
- 시간 간격을 저장할 수 있는 자료형
- 아래 단락에서 자세히 후술
그 외
- boolean : 참/거짓
- [] (배열)
: PostgreSQL만의 독특한 타입 중 하나
데이터 타입 옆에 대괄호[]를 붙여서 만들 수 있다.
Interval
시간데이터를 다룰 때 유용하게 활용할 수 있는 Interval에 대해 알아본다.
Interval이란?
- 날짜와 시간의 간격을 표현하고 있어 date/timestamp 데이터와 함께 연산등에 활용된다
- 표준 SQL에 포함되어있는 데이터 유형으로 다양한 DBMS에서 활용되고 있다.
(활용방식에는 조금씩 차이가 있을 수 있다) - 데이터 타입이므로 변수, 매개변수, 열 등으로 사용할 수 있다.
생성하기
- interval '값' 단위 / interval '값 단위'
: interval 키워드와 문자열로 된 값+단위 조합으로 시간간격을 생성할 수 있다. - 단위 종류
- year : 년
- month : 월
- day : 일
- hour : 시간
- minute : 분
- second : 초
*단위는 홑따옴표 안에 쓰는경 복수형으로도 쓸 수 있다 - 예제
- interval '2' minute
- interval '2 year 5 month' (여러 단위를 조합할 수 있다.)
-- 데이터를 삽입할때의 예시
CREATE TABLE my_table (my_interval INTERVAL);
INSERT INTO my_table (my_interval) VALUES (INTERVAL '1 year 2 months');

'DataBase > PostgreSQL' 카테고리의 다른 글
| [함수] 시간연산관련, 시리즈 생성 (0) | 2023.05.02 |
|---|---|
| [함수] 타입변환 관련 (0) | 2023.05.02 |
| [JDBC] 자바 연결, Connection Pool (0) | 2023.04.28 |
| [DBeaver] 편리한 작업툴 (0) | 2023.04.10 |
| [개요] DBMS 개요 및 PostgreSQL 특징 (0) | 2023.04.04 |
댓글