2013-05-08 4 views
2

웹에서 양식을 보내면 insert 쿼리는 now() 함수를 사용하여 DB에 현재 날짜를 저장합니다.PostgreSQL을 사용하여 몇 분 안에 타임 스탬프를 얻을 수 있습니까?

지금, 필자는이 열을 분 단위로 가져와 다른 사람이 필요하다고 생각하는 것을 계산하려고하는데, 어떻게해야할지 모르겠다.

예를 들어,이 있습니다

"2013 년 5 월 8시 30분 0초"

을 그리고 난이 (지금 8.50)을 원하는 :

"20"<을 -에서 분

감사

+0

예제의 첫 번째 줄에서 분은 "30"입니다. 두 번째는 "50"입니다. 세 번째 "20". 당신이 원하는 것을 조금 더 설명 할 수 있습니까? – fog

+1

8.30과 8.50 사이에서 20 분을 넘기 때문에 – Angel

+1

좋아,하지만 지금 9시 40 분이면 무엇을 원하니? 70 또는 10의 결과? – fog

답변

4

OK,의 당신이 타임 스탬프가있는 테이블이 있다고 가정하자 :

CREATE TABLE ex (t timestamp); 
INSERT INTO ex VALUES ('2013-05-08 8:30'::timestamp); 

그리고 tnow() 사이의 분 차이가 필요합니다.

SELECT extract(epoch from (now() - ex.t))/60 FROM ex; 

epochdatetimestamp 유형에 대해 "시대"에서 초이지만, interval 유형에 대한 간격 (초) 단지 수를 일 아닌가요 : 당신은 extract 기능을 사용하는 것을 얻을 수 있습니다. 60으로 나누면 원하는 분량을 얻을 수 있습니다 (분수가 정수인 경우 trunc).

+1

OMG. 이 커뮤니티는 훌륭합니다. 당신 정말 대단하네요. 고마워, 완벽하게 작동합니다! – Angel

관련 문제