날짜, 시간 관련

JYJ·2022년 8월 10일
0

SQL / MySQL

목록 보기
18/25

날짜와 시간 타입


DATE

  • DATE는 날짜를 저장할 수 있는 타입이다.

  • 기본형식은 'YYYY-MM-DD'이다.


DATETIME

  • DATETIME은 날짜와 함께 시간까지 저장할 수 있는 타입이다.

  • 기본형식은 'YYYY-MM-DD HH:MM:SS'이다.


TIME

  • TIME은 시간을 저장할 수 있는 타입이다.

  • 기본 형식은 'HH-MM-SS'이다.


TIMESTAMP

  • TIMESTAMP는 날짜와 함께 시간까지 저장할 수 있는 타입이다.

  • 필드에 사용자가 별다른 입력을 주지 않으면 데이터가 마지막으로 입력되거나 변경된 시간이 저장된다.

  • 따라서 데이터의 최종 변경 시각을 저장하고 확인하는데 유용하다.




날짜 및 시간 관련 함수


year, month, day

  • 해당하는 연도, 월, 일 을 반환한다.


hour, minute, second

  • 해당하는 시간, 분, 초 를 반환한다.




날짜 포맷


DATE_FORMAT

  • 날짜를 포맷 형식의 문자열로 변환한다.

SELECT DATE_FORMAT(날짜시간컬럼, '%Y-%m-%d') FROM 테이블명


postgresql 날짜/시간 함수


  • 날짜/시간 타입으로 변환하기
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 사용


✔ 과거 데이터 검색


✔ 범위 지정 검색


profile
Study note

0개의 댓글