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

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

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

How to Calculate the Millisecond Difference Between Timestamps in Oracle?

Oracle データベースで計算されたタイムスタンプ間のミリ秒の差

Oracle データベース内の 2 つのタイムスタンプ間のミリ秒の差を計算するには、プラットフォーム固有のニュアンスと必要な出力形式を注意深く考慮する必要があります。

2 つの TIMESTAMP 変数を減算すると、結果は INTERVAL DAY TO SECOND 値になります。この間隔には、データベースで使用されているオペレーティング システムに応じて、異なるミリ秒やマイクロ秒の数値が含まれます。たとえば、Windows ベースのデータベースは通常ミリ秒を提供しますが、Unix ベースのデータベースはマイクロ秒を使用する傾向があります。

時間コンポーネントを抽出

INTERVAL DAY TO SECOND 値から特定の時間コンポーネントを取得するには、EXTRACT 関数を使用できます。この機能を使用すると、日、時間、分、秒などの個々の要素を抽出できます。

合計ミリ秒を計算します

タイムスタンプ間の合計ミリ秒数が必要な場合は、抽出された各コンポーネントをミリ秒に変換して合計できます。ただし、多くの場合、INTERVAL DAY TO SECOND 表現を維持するか、時間、分、秒ごとに異なる列を作成する方が現実的です。

計算例:

次の例を考えてみましょう:

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

このクエリは、時差を INTERVAL DAY TO SECOND 値として取得します:

<code>+000000000 14:51:04.339000000</code>
ログイン後にコピー

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>      DAYS      HOURS    MINUTES    SECONDS
---------- ---------- ---------- ----------
         0         14         55     37.936</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>
ログイン後にコピー

返される結果:

<code>TOTAL_MILLISECONDS
------------------
          53831842</code>
ログイン後にコピー

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

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