2012-07-02 3 views
13

다른 컬럼과 비교하기 위해 타임 스탬프가있는 정수 컬럼에서 분을 더할 필요가 있습니다. PostgreSQL : 컬럼 값에서 타임 스탬프에 간격 추가

SELECT t1.id_liame, t1.id_table, t1.periodicidade , t3.data_extracao, 
    CASE WHEN(NOW() < (e.data_extracao + INTERVAL t1.periodicidade || ' 
    MINUTES')) 
    THEN 'yes' ELSE 'no' END 
    FROM table1 as t1 LEFT JOIN liame_has_extracao as t2 USING(id_liame) 
    LEFT JOIN extracao as t3 USING(id_extracao) 

l.periodicidade 정수 (분) 내가 data_extracao(timestamp)NOW() + l.periodicidade(integer - minutes)보다 큰 경우 확인해야
입니다 :

다음은 예입니다.

어떻게 할 수 있습니까?

+0

을하는 데 도움이

희망 : 조회에서 잘못된 별칭 : 't3' –

답변

22

이 같은 쿼리를 작성할 수 있습니다 : 당신이 당신의 기본 단위를 정의하고 실제 시간 간격을 곱 INTERVAL '1 minute' 너무

SELECT 
    t1.id_liame, 
    t1.id_table, 
    t1.periodicidade, 
    t3.data_extracao, 
    CASE 
     WHEN(NOW() < (t3.data_extracao + (INTERVAL '1 min' * t1.periodicidade))) 
     THEN 'yes' ELSE 'no' 
    END 
FROM table1 AS t1 
LEFT JOIN liame_has_extracao AS t2 USING(id_liame) 
LEFT JOIN extracao AS t3 USING(id_extracao) 

당신이 볼 수 있듯이, 정수와 간격을 곱 수 있습니다. 이외에도

+0

큰 도움으로 <-->'extracao을 e.data_extracao'! 감사 –

관련 문제