Любые способы рассчитать точное время между двумя отметками времени с часовым поясом - PullRequest
1 голос
/ 17 ноября 2011

есть ли способ в oracle рассчитать разницу между значением двух меток времени с часовыми поясами в oracle sql plus, так как невозможно использовать timestampdiff или datediff внутри oracle.

Спасибо

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Просто вычтите их:

SQL> select (systimestamp + 1) - systimestamp from dual;

(SYSTIMESTAMP+1)-SYSTIMESTAMP
---------------------------------------------------------------------------
+000000000 23:59:59.884789
1 голос
/ 17 ноября 2011

Примите во внимание следующее, если вам нужно количество миллисекунд между двумя временными метками:

  create or replace Function msecBetween
   (ts1 timestamp with time zone,
    ts2 timestamp with time zone,
    numDec number default 0
   )
  Return Number is
    i INTERVAL DAY(3) TO SECOND(3) := ts2 - ts1;
  Begin
    return round (
      +     extract( day    from i )*24*60*60*1000
      +     extract( hour   from i )*60*60*1000
      +     extract( minute from i )*60*1000
      +     extract( second from i )*1000
    , numDec);
  End;
...