Comment calculer la différence Temps Oracle

Comment calculer la différence Temps Oracle


Le gestionnaire de base de données Oracle peut stocker plusieurs types de données dans les champs de base de données, y compris des chaînes humaines lisible avec les 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 de 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éclarez les champs stockant le début et le temps dont la différence que vous voulez finalement de calculer comme ayant le type TIMESTAMP se terminant. Le TIMESTAMP type est celui qui vous permet la plus grande précision, jusqu'à une fraction de seconde. Par exemple, définir votre table comme suit:

CREATE TABLE times_for_diff {

initial_time TIMESTAMP,

TIMESTAMP final_time

};

2 Garnissez votre table en utilisant la fonction appropriée pour convertir entre un type lisible par l'homme et TIMESTAMP. En règle générale, les dates et heures sont codées sous forme de chaînes. Cet exemple de code insère un enregistrement dans la table de l'échantillon:

INSERT INTO times_for_diff (initial_time, final_time)

VALEURS (TO_TIMESTAMP ('30 .5.1990: 12: 00: 00 ',' DD.MM.YYYY: HH24: MI: SS '),

TO_TIMESTAMP ('31.7.1992:14:00:00','DD.MM.YYYY:HH24:MI:SS')

);

COMMETTRE;

Le temps initial échantillon est midi, le 30 mai 1990; la dernière fois est 14 heures 31 Juillet 1993.

3 Calculer la différence en utilisant l'opérateur intégré Oracle qui soustrait un horodatage d'un autre, comme suit:

SELECT (final_time - initial_time)

DE times_for_diff;

La sortie de la requête sera constitué par la différence entre les deux fois dans chaque ligne de la "times_for_diff" table.