Maison >base de données >tutoriel mysql >Comment calculer la différence en millisecondes entre deux horodatages Oracle ?

Comment calculer la différence en millisecondes entre deux horodatages Oracle ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-11 20:47:42445parcourir

How to Calculate the Millisecond Difference Between Two Oracle Timestamps?

Détermination des différences en millisecondes dans les horodatages Oracle

Travailler avec les horodatages Oracle nécessite souvent de calculer la différence de temps précise entre deux valeurs. Bien que les différences en secondes ou en minutes soient courantes, calculer la différence en millisecondes peut être crucial dans des applications spécifiques.

Méthode

La fonction EXTRACT apporte une solution. Il extrait les composants d'une valeur INTERVAL DAY TO SECOND, résultat de la soustraction de deux horodatages.

Cette requête initiale extrait les composants jour, heure, minute et seconde :

<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>

Pour obtenir le nombre total de millisecondes, convertissez ces composants et additionnez-les :

<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>

Remarque importante : La fonction ROUND garantit que les secondes sont représentées avec précision en millisecondes.

Bien que calculer le total des millisecondes soit possible, conserver le INTERVAL DAY TO SECOND résultat ou utiliser des colonnes séparées pour chaque unité de temps est souvent plus pratique. Cette méthode offre cependant un calcul précis en millisecondes lorsque cela est nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn