Postgresql에서 Timestamp의 값과 현재 사이에 몇시간이나 지났는지 어떻게 알 수 있나요?
조회수 6543회
Postgresql DB를 사용중인데요. created_at 칼럼값을 읽어와서, 생성된지 몇시간이나 된 row인지를 확인하고 싶습니다.
select EXTRACT(HOUR FROM (NOW() - created_at)) as age
from table
이렇게 하니까 값들이 이상하게 나오네요.
1 답변
-
EXTRACT 함수는 현재 시간과 created_at의 차이에서 시간에 해당하는 부분만 가져오기 때문에 그렇습니다. 예를 들어 차이가 1일 20시간 35분이라고 하면 20이 되는 것이죠.
현재 시간과의 차이를 가져오려면 다음과 같이 하면 됩니다.
SELECT (EXTRACT(EPOCH FROM NOW() - created_at)/3600)::Integer AS hours FROM table
참고: http://www.postgresql.org/docs/current/static/functions-datetime.html
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력