2017-02-01 1 views
2

오라클의 두 타임 스탬프 필드의 차이점을 확인하고 있습니다.오라클의 타임 스탬프 차이점

(TIMESTAMPa-TIMESTAMPb)

결과 : +09 19 : 16 : I는 결과 값이 양 또는 음인지 여부에 유의 시도하고 04.747000

.

내 현재 솔루션이 작동하지만 더 나은 방법이 있어야한다고 생각합니다.

솔루션 :

CASE 
WHEN SUBSTR((TIMESTAMPa-TIMESTAMPb),1,1)='+' 
THEN 'AFTER' 
ELSE 'BEFORE' 
END AS DIFF 
+1

당신이 (간격)를 실제 차이가 필요하십니까, 이상 만 *입니다 * 직전? 타임 스탬프가 동일하면 제로 간격을 양수 또는 음수로 처리합니까? (그것은 '+0 00 : ...'으로보고되지만 원하는 것입니까?) –

+0

나는 +/- 값에만 관심이 있습니다. 이 경우에는 0이 값 – hadoo

답변

3

interval '0' day는 다른 '0'간격으로 교체 할 수 있습니다

select case 
      when (timestamp '2017-02-01 20:07:09' - timestamp '2017-02-01 21:35:02') > interval '0' day 
      then 'AFTER' 
      else 'BEFORE' 
     end 

from dual 

...하지만 비교 직접 사용하지 왜 전 ?

select case 
      when timestamp '2017-02-01 20:07:09' > timestamp '2017-02-01 21:35:02' 
      then 'AFTER' 
      else 'BEFORE' 
     end 

from dual 

+0

을 가질 수 없으며 두 번째는 간단히 말해서 나에게 발생하지도 않습니다. 고맙습니다! – hadoo

관련 문제