DATE는 날짜를 저장할 수 있는 타입이다.
기본형식은 'YYYY-MM-DD'이다.
DATETIME은 날짜와 함께 시간까지 저장할 수 있는 타입이다.
기본형식은 'YYYY-MM-DD HH:MM:SS'이다.
TIME은 시간을 저장할 수 있는 타입이다.
기본 형식은 'HH-MM-SS'이다.
TIMESTAMP는 날짜와 함께 시간까지 저장할 수 있는 타입이다.
필드에 사용자가 별다른 입력을 주지 않으면 데이터가 마지막으로 입력되거나 변경된 시간이 저장된다.
따라서 데이터의 최종 변경 시각을 저장하고 확인하는데 유용하다.
SELECT DATE_FORMAT(날짜시간컬럼, '%Y-%m-%d') FROM 테이블명
select '20230221'::date , '2023-01-07'::date
-- postgresql에서 ::연산자는 타입 변환을 의미한다. ;
select date '20221111';
select to_date('01022023', 'MMDDYYYY'), to_date('2018-09-14', 'YYYY-MM-DD')
-- to_date는 앞에것('01022023')과 뒤에것('MMDDYYYY')의 형식을 맞춰줘야한다.;
select to_timestamp('2019-01-02 20:12:12', 'YYYY-MM-DD HH24:MI:SS')
-- to_timestamp도 앞에것과 뒤에것의 형식을 맞춰줘야한다. ;
select '20100111'::date + interval '2 sec' , '20100111'::date - interval '2 sec' ;
select '20100111'::date + interval '2 min' , '20100111'::date - interval '2 min' ;
select '20100111'::date + interval '2 hour' , '20100111'::date - interval '2 hour' ;
select '20100111'::date + interval '2 day' , '20100111'::date - interval '2 day' ;
select '20100111'::date + interval '2 week' , '20100111'::date - interval '2 week' ;
select '20100111'::date + interval '2 month' , '20100111'::date - interval '2 month' ;
select '20100111'::date + interval '2 year' , '20100111'::date - interval '2 year' ;
select ('20100111'::date + interval '2 day') + interval '2 hour' ;
select now() + (600 * interval '1 sec') , now() + interval '600 sec';
-- 2개 다 같은 결과가 나온다.
select now(), now() + interval '15h 2m 12s';
select to_char(now(), 'YYYY-MM-DD HH24:MI:SS');
✔ 실습테이블
✔ WHERE절에 DATE_FORMAT 사용
✔ 과거 데이터 검색
✔ 범위 지정 검색