ホームページ > データベース > mysql チュートリアル > Oracle の 2 つのタイムスタンプの差をミリ秒単位で計算するにはどうすればよいですか?

Oracle の 2 つのタイムスタンプの差をミリ秒単位で計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-11 21:07:42
オリジナル
739 人が閲覧しました

How to Calculate the Difference Between Two Timestamps in Oracle in Milliseconds?

Oracle データベース内の 2 つのタイムスタンプ間のミリ秒の差を正確に計算します

Oracle データベースでは、2 つの TIMESTAMP 型変数間の時間差 (ミリ秒単位) を直接減算して計算できます。結果は、オペレーティング システム プラットフォームに応じて、ミリ秒またはマイクロ秒を含む INTERVAL DAY TO SECOND として表示されます。

Windows システムの sytimestamp には通常ミリ秒が含まれますが、Unix システムではマイクロ秒が含まれます。例:

<code class="language-sql">select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' )
from dual;</code>
ログイン後にコピー

INTERVAL DAY TO SECOND の各時間単位を抽出するには、EXTRACT 関数を使用できます。例:

<code class="language-sql">select extract( day from diff ) days,
       extract( hour from diff ) hours,
       extract( minute from diff ) minutes,
       extract( second from diff ) seconds
from (select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' ) diff
      from dual);</code>
ログイン後にコピー

合計ミリ秒数を取得するには、これらの時間単位をミリ秒に変換し、次を追加します。

<code class="language-sql">select extract( day from diff )*24*60*60*1000 +
       extract( hour from diff )*60*60*1000 +
       extract( minute from diff )*60*1000 +
       round(extract( second from diff )*1000) total_milliseconds
from (select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' ) diff
      from dual);</code>
ログイン後にコピー

ただし、多くの場合、ミリ秒の合計数を計算するよりも、INTERVAL DAY TO SECOND 表現を保持するか、別の列を使用して異なる時間単位を格納する方が現実的です。

以上がOracle の 2 つのタイムスタンプの差をミリ秒単位で計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート