포스트그레스를 사용하여 간격을 몇 시간으로 변환하려면 어떻게 해야 합니까?
나에게 이런 간격이 있다고 말합니다.
4 days 10:00:00
우편으로어떻게 시간으로 변환합니까(이 경우 106시간)?기능이 있나요, 아니면 제가 총알을 물어뜯고 해야 하나요?
extract(days, my_interval) * 24 + extract(hours, my_interval)
가장 쉬운 방법은 다음과 같습니다.
SELECT EXTRACT(epoch FROM my_interval)/3600
정수(일 수)를 원하는 경우:
SELECT (EXTRACT(epoch FROM (SELECT (NOW() - '2014-08-02 08:10:56')))/86400)::int
일 수를 구하는 가장 쉬운 방법은 다음과 같습니다.
SELECT EXTRACT(DAY FROM NOW() - '2014-08-02 08:10:56');
제가 알기로는 다음과 같이 반송될 것으로 알고 있습니다.
SELECT (EXTRACT(epoch FROM (SELECT (NOW() - '2014-08-02 08:10:56')))/86400)::int;
select floor((date_part('epoch', order_time - '2016-09-05 00:00:00') / 3600)), count(*)
from od_a_week
group by floor((date_part('epoch', order_time - '2016-09-05 00:00:00') / 3600));
그::int
변환은 반올림의 원리를 따릅니다.반올림과 같은 다른 결과를 원하는 경우 다음과 같은 수학 함수를 사용할 수 있습니다.floor
.
테이블 필드를 변환하는 경우:
초를 포함하도록 필드를 정의합니다.
CREATE TABLE IF NOT EXISTS test ( ... field INTERVAL SECOND(0) );
값을 추출합니다.그렇지 않으면 간격이 크면 불쾌한 놀라움을 느낄 수 있다는 것을 기억하십시오.
EXTRACT(EPOCH FROM field)::int
간격을 추가한 후 결과를 날짜 유형으로만 표시하려면 다음을 시도해야 합니다.
선택(current_date + interval 'x day')::날짜;
장황하지 않게 하는 기능extract epoch
안가는 곳이 없어요.필요한 시간(초)을 반환합니다.int_interval('1 day') / 3600
CREATE OR REPLACE FUNCTION int_interval(interval_text text) returns INT LANGUAGE SQL IMMUTABLE as $$ SELECT EXTRACT(epoch FROM interval_text::INTERVAL)::INT $$;
사용.
int_interval('1 day')
저는 Postgre와 함께 일하고 있습니다.SQL 11, 그리고 나는 두 개의 다른 타임스탬프 사이의 시간을 구하는 함수를 만들었습니다.
create function analysis.calcHours(datetime1 timestamp, datetime2 timestamp)
returns integer
language plpgsql as $$
declare
diff interval;
begin
diff = datetime2 - datetime1;
return (abs(extract(days from diff))*24 + abs(extract(hours from diff)))::integer;
end; $$;
select date 'now()' - date '1955-12-15';
다음은 총 일수를 계산하는 단순 쿼리입니다.
언급URL : https://stackoverflow.com/questions/952493/how-do-i-convert-an-interval-into-a-number-of-hours-with-postgres
'programing' 카테고리의 다른 글
이클립스 테마를 변경하려면 어떻게 해야 합니까? (0) | 2023.05.26 |
---|---|
postgresql 오류 PANIC: 올바른 체크포인트 레코드를 찾을 수 없습니다. (0) | 2023.05.26 |
원격 호스트에서 포트 하나의 상태 확인 (0) | 2023.05.26 |
MVVM: 보기 모델에 라디오 버튼을 바인딩하시겠습니까? (0) | 2023.05.26 |
Git을 사용하여 프로젝트의 최신 개정판을 얻는 방법은 무엇입니까? (0) | 2023.05.26 |