下記条件のテーブルにおいて、更新された時間と現時点の差分を秒で取得したいです。
create table t ( NO number primary key,S_TIME timestamp); insert into t values(1,sysdate); commit;
■質問
下記に示す方法で無理やり差分を取得することは出来たのですが、他に良い方法はないでしょうか?
select ((cast(SYS_EXTRACT_UTC(systimestamp) as date) - date '1970-01-01') * 24 * 60 * 60) - ((cast(SYS_EXTRACT_UTC(s_time) as date) - date '1970-01-01') * 24 * 60 * 60) delay from t;
[実行時のイメージ]
SQL> create table t ( NO number primary key,S_TIME timestamp);
表が作成されました。
SQL> insert into t values(1,sysdate);
1行が作成されました。
SQL> commit;
コミットが完了しました。
SQL>
SQL> select ((cast(SYS_EXTRACT_UTC(systimestamp) as date) - date '1970-01-01') * 24 * 60 * 60)
- ((cast(SYS_EXTRACT_UTC(s_time) as date) - date '1970-01-01') * 24 * 60 * 60) delay from t; 2
DELAY
'----------
6
以上、よろしくお願い致します。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/23 04:22 編集