Maison > base de données > tutoriel mysql > Comment calculer les différences de temps en millisecondes dans Oracle ?

Comment calculer les différences de temps en millisecondes dans Oracle ?

Linda Hamilton
Libérer: 2025-01-11 20:57:42
original
578 Les gens l'ont consulté

How to Calculate Time Differences in Milliseconds in Oracle?

Calculer le décalage horaire en millisecondes dans la base de données Oracle

Dans Oracle Database, calculer la différence de temps en millisecondes entre deux horodatages est une tâche courante, qui permet aux développeurs de mesurer avec précision la durée ou de comparer des événements liés au temps.

Méthode d'Oracle

Lors de la soustraction de deux variables de type TIMESTAMP, Oracle renvoie une valeur INTERVAL DAY TO SECOND. Cet intervalle contient des millisecondes ou des microsecondes, selon la plateforme de base de données (Windows/Unix). En extrayant les éléments individuels de cet intervalle (via la fonction EXTRACT), les développeurs peuvent calculer le nombre total de millisecondes à l'aide de la formule suivante :

<code class="language-sql">总毫秒数 = (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))</code>
Copier après la connexion

Exemple de calcul

Supposons que nous ayons deux horodatages :

  • Horodatage 1 : 06/02/2023 12:45:34.123
  • Horodatage 2 : 05/02/2023 11:30:15.678

Pour calculer le décalage horaire en millisecondes, nous pouvons utiliser la requête suivante :

<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 timestamp1 - timestamp2 AS diff FROM dual);</code>
Copier après la connexion

Cette requête renverra le nombre total de millisecondes entre deux horodatages, dans ce cas :

<code>total_milliseconds: 86400000 + 54000000 + 1800000 + 98543</code>
Copier après la connexion

Autres méthodes

En plus de calculer manuellement le total des millisecondes, les développeurs peuvent également utiliser les fonctions intégrées d'Oracle pour atteindre cet objectif. Par exemple, la fonction TO_CHAR peut être utilisée pour convertir une valeur INTERVAL DAY TO SECOND en une représentation sous forme de chaîne contenant des millisecondes. Alternativement, le package DBMS_OUTPUT fournit la procédure PUT_LINE, permettant aux développeurs de générer chaque composant de l'intervalle (par exemple, jour, heure, minute, seconde, milliseconde) séparément.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal