Le gestionnaire de base de données Oracle peut stocker plusieurs types de données dans les domaines de base de données , y compris les chaînes lisibles par un humain avec des dates et heures. Calcul de la différence exacte entre deux moments dans le temps est une opération très courante , il peut être nécessaire de créer un nouveau champ, une vue ou pour filtrer les résultats d'une requête. Vous pouvez calculer les différences de temps précis dans vos tables Oracle et les résultats de la requête. Instructions
1
Déclarer les champs stockant l' heure de début et de fin dont la différence que vous voulez finalement à calculer comme ayant le type TIMESTAMP . Le type timestamp est celui qui vous la plus grande précision permet , en baisse de quelques fractions de seconde . Par exemple, définir votre table comme suit :
CREATE TABLE times_for_diff {
TIMESTAMP initial_time , AB
final_time TIMESTAMP
};
2
remplir votre table en utilisant la fonction appropriée pour convertir entre un type lisible par l'homme et l'horodatage . En règle générale, les dates et heures sont codés comme des chaînes. Cet échantillon de code insère un enregistrement dans la table exemple :
INSERT INTO times_for_diff ( initial_time , final_time )
VALUES ( TO_TIMESTAMP ( '30 .5.1990:12:00:00 ',' DD . MM.AAAA : HH24 : MI : SS ' ) , AB
TO_TIMESTAMP ( '31 .7.1992:14:00:00 ', ' DD.MM.YYYY : HH24 : MI : SS' )
< p> ) ;
COMMIT ;
l'échantillon initial est temps midi , le 30 mai 1990; la dernière fois est 14 heures , 31 Juillet
1993
< br . > 3
calculer la différence en utilisant le haut- opérateur Oracle qui soustrait un timestamp d'un autre , comme suit :
SELECT ( final_time - initial_time )
dE times_for_diff ;
< p > Le résultat de la requête sera constitué par la différence entre les deux fois dans chaque ligne de la table " times_for_diff " .