1

sysdate と utcdate の間の整数として差分を分単位で取得したいと考えています。これは動作しません:

select ROUND((sysdate-SYS_EXTRACT_UTC(SYSTIMESTAMP))*1440,0) from dual

次のエラー メッセージが表示されます: ORA-00932: inconsistent datatypes: expected NUMBER got INTERVAL DAY TO SECOND Script line 21, statement line 1, column 52

何をすべきか?どうもありがとう!

4

1 に答える 1

1

これを試して。2 つの日付で計算を行う前に、systimestamp データ型を日付型に変換する必要があります。もっとエレガントな解決策があるかもしれませんが、これはうまくいくようです。

SELECT ROUND (  (  SYSDATE
                 - TO_DATE (TO_CHAR (SYS_EXTRACT_UTC (SYSTIMESTAMP),
                                     'YYYY-MON-DD HH24:MI:SS'
                                    ),
                            'YYYY-MON-DD HH24:MI:SS'
                           )
                )
              * 1440,
              0
             )
  FROM DUAL
于 2013-11-21T15:11:27.767 に答える