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

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

Susan Sarandon
Susan Sarandonoriginal
2025-01-11 21:07:42819parcourir

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

Calculez avec précision la différence en millisecondes entre deux horodatages dans la base de données Oracle

Dans la base de données Oracle, le calcul de la différence de temps (en millisecondes) entre deux variables de type TIMESTAMP peut être réalisé par soustraction directe. Le résultat est présenté sous forme d'INTERVALLE JOUR À SECONDE, contenant des millisecondes voire des microsecondes, selon la plate-forme du système d'exploitation.

Le sytimestamp sur les systèmes Windows contient généralement des millisecondes, tandis que sur les systèmes Unix, il contient des microsecondes. Par exemple :

<code class="language-sql">select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' )
from dual;</code>

Pour extraire chaque unité de temps dans INTERVAL DAY TO SECOND, vous pouvez utiliser la fonction EXTRACT. Par exemple :

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

Pour obtenir le nombre total de millisecondes, vous pouvez convertir ces unités de temps en millisecondes et ajouter :

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

Souvent, cependant, il est plus pratique de conserver la représentation INTERVALLE JOUR À SECONDE ou d'utiliser des colonnes séparées pour stocker différentes unités de temps plutôt que de calculer le nombre total de millisecondes.

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