ホームページ >データベース >mysql チュートリアル >2 つの Oracle タイムスタンプ間のミリ秒の差を計算するにはどうすればよいですか?
Oracle タイムスタンプのミリ秒単位の違いの決定
Oracle タイムスタンプを操作するには、多くの場合、2 つの値間の正確な時間差を計算する必要があります。秒または分の違いは一般的ですが、特定のアプリケーションではミリ秒までの差を計算することが重要になる場合があります。
メソッド
EXTRACT
関数は解決策を提供します。 INTERVAL DAY TO SECOND
値 (2 つのタイムスタンプを減算した結果) からコンポーネントを抽出します。
この最初のクエリは、日、時間、分、秒のコンポーネントを抽出します。
<code class="language-sql">SELECT EXTRACT(DAY FROM diff) AS days, EXTRACT(HOUR FROM diff) AS hours, EXTRACT(MINUTE FROM diff) AS minutes, EXTRACT(SECOND FROM diff) AS seconds FROM (SELECT SYSTIMESTAMP - TO_TIMESTAMP('2012-07-23', 'YYYY-MM-DD') AS 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) AS total_milliseconds FROM (SELECT SYSTIMESTAMP - TO_TIMESTAMP('2012-07-23', 'YYYY-MM-DD') AS diff FROM DUAL);</code>
重要な注意: ROUND
関数は、秒がミリ秒単位で正確に表現されることを保証します。
合計ミリ秒を計算することは可能ですが、多くの場合、INTERVAL DAY TO SECOND
の結果を保持するか、時間単位ごとに個別の列を使用する方が現実的です。 ただし、この方法では、必要に応じて正確なミリ秒の計算が可能です。
以上が2 つの Oracle タイムスタンプ間のミリ秒の差を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。