PostgeSQL

[PostgreSQL] interval 활용

성엽이 2014. 3. 28. 11:48

-- 현재 시간보다 30분 전 시간 구하기
ksmsdb=> select now(), now() - interval'30 minute';
              now              |           ?column?            
-------------------------------+-------------------------------
 2007-11-21 10:29:21.635014+09 | 2007-11-21 09:59:21.635014+09
(1 row)

-- 현재 시간보다 하루 전 날짜 구하기
ksmsdb=> select now(), now()::date - '1 day'::interval;
              now              |      ?column?       
-------------------------------+---------------------
 2007-11-21 10:32:06.629718+09 | 2007-11-20 00:00:00
(1 row)

-- 요일 구하기
ksmsdb=> select to_char(now(),'YYYY년 TMMonth FMDD일 TMDay');
            to_char             
--------------------------------
 2007년 November 21일 Wednesday
(1 row)

-- 날짜형으로 Cast
ksmsdb=> select to_date('2007-11-21', 'YYYY-MM-DD');
  to_date   
------------
 2007-11-21
(1 row)

-- 최근 1시간 전 이후 자료 가지고 오기
select * from tbl1 where timestamp자료형 필드 > now() - interval '1 hour'



PostgreSQL에서 interval을 원하는 resolution의 정수로 가져오기

http://blog.dahlia.pe.kr/articles/2008/11/13/postgresql%EC%97%90%EC%84%9C-interval%EC%9D%84-%EC%9B%90%ED%95%98%EB%8A%94-resolution%EC%9D%98-%EC%A0%95%EC%88%98%EB%A1%9C-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0