Structured Query Language (SQL) est la méthode la plus largement utilisée pour extraire et manipuler des données stockées dans une base de données Oracle. En plus d'autres commandes puissantes utilisées pour traiter des valeurs de date, Oracle SQL fournit une méthode pour déterminer la différence entre deux points dans le temps. Oracle n'a pas formats distincts pour les dates et heures, mais utilise un format de date unique qui consiste à la fois la date et l'heure dans une colonne.
Trouver deux colonnes de date dans une base de données Oracle. L'exemple utilise une date statique et le sysdate (date système). Supposons que la date de système actuel est de 1 Janvier 2010 à 12h00 Dual est une relation du système intégré Oracle qui est utile pour tester les requêtes qui ne dépendent pas sur une table spécifique. Utilisez cette commande pour afficher les deux valeurs de date.
sélectionner
to_char ('01 / 01/2010 ',' JJ-MM-AAAA HH24: MI: SS ') comme "Temps plus tôt",
to_char (sysdate, «JJ-MM-AAAA HH24: MI: SS ') comme "Heure Actuelle"
du double;
Temps plus tôt | heure actuelle
------------------------------ | ----------------------------;
01/01/2010 0:00:00 | 01/01/2010 12:00:00
Modifiez la requête pour soustraire la valeur de l'heure de la valeur de temps auparavant. Le résultat est le nombre de jours entre les deux valeurs de date. La partie à gauche de la virgule représente les jours, et la partie de droite représente une partie fractionnaire d'un jour.
sélectionner
to_char ('01 / 01/2010 ',' JJ-MM-AAAA HH24: MI: SS ');
to_char (sysdate, «JJ-MM-AAAA HH24: MI: SS ') comme "différence"
du double;
différence
0,25
Modifiez la requête pour multiplier le résultat par 24 pour convertir la valeur fractionnelle des heures.
sélectionner
(To_char ('01 / 01/2010 ',' JJ-MM-AAAA HH24: MI: SS ');
to_char (sysdate, «JJ-MM-AAAA HH24: MI: SS ') * 24 comme "heures"
du double;
heures
6