2009-05-13 6 views
0

다른 엔티티 유효성의 유효 범위에서 유효한 엔티티를 선택해야합니다.오라클 타임 스탬프 (SQL)에서 산술 연산을 수행하는 방법은 무엇입니까?

는 간단한 예를 들어,이 같은 싶지 : 내가 계산할 수있는 방법

select 
    * 
from 
    o1, o2 
where 
    o1.from < (o2.to - ((o2.to - o2.from) /2)) 
    and 
    o1.to > (o2.to - ((o2.to - o2.from) /2)) 

을 "(- ((o2.to - o2.to o2.from)/2))"에 SQL은 to 및 from이 타임 스탬프라고 가정합니다.

+0

나는 로컬 버전에서 오타를 겪었습니다. –

답변

2

작성한 것을 시도 했습니까?

(o2.to - o2.from) 

이 당신에게 부분적인 하루 차이, 예를 들어 줄 것이다 : 당신이 원래 날짜에 그 결과를 추가하는 경우 다음

1 select (trunc(sysdate) - trunc(sysdate+1))/2 from dual 
    2* 
SQL>/

(TRUNC(SYSDATE)-TRUNC(SYSDATE+1))/2 
----------------------------------- 
           -.5 

SQL> 

당신이 날짜를 얻을 것이다, 그것은 나에게 작동합니다 것 같습니다 중간 지점의 시간 :

SQL> select to_char(a.d, 'YYYY-MON-DD HH24:MI') 
    2 from 
    3 ( select trunc(sysdate) + (trunc(sysdate+1) - trunc(sysdate))/2 d from dual 
    4 ) a; 

TO_CHAR(A.D,'YYYY 
----------------- 
2009-MAY-13 12:00