Hvordan beregne Tidsforskjell i Oracle

Hvordan beregne Tidsforskjell i Oracle


Oracle databasesystemet kan lagre flere datatyper i databasefelt, inkludert lesbar strenger med datoer og klokkeslett. Beregne eksakt forskjellen mellom to øyeblikk i tid er en svært vanlig operasjon; det kan være nødvendig for å skape et nytt felt, en visning eller for å filtrere resultatene av en spørring. Du kan beregne nøyaktige tidsforskjeller i dine Oracle tabeller og søkeresultatene.

Bruksanvisning

1 Erklærer feltene lagring begynnelse og slutt tid hvis forskjellen du til slutt vil beregne å ha typen TIMESTAMP. Typen TIMESTAMP er den som lar deg den høyeste presisjon, ned til brøkdeler av et sekund. For eksempel definere tabellen som følger:

CREATE TABLE times_for_diff {

initial_time TIMESTAMP,

final_time TIMESTAMP

};

2 Fylle tabellen ved hjelp av riktig funksjon for å konvertere mellom en lesbar type og tidsstempel. Vanligvis er datoer og klokkeslett kodet som strenger. Denne eksempelkode setter rekord i eksempeltabellen:

INSERT INTO times_for_diff (initial_time, final_time)

VERDIER (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')

);

BEGÅ;

Prøven første er kl, 30 mai 1990; den siste tiden er 14:00, 31 juli 1993.

3 Beregn forskjellen ved hjelp av den innebygde Oracle operatør som trekker en tidsstempel fra en annen, som følger:

SELECT (final_time - initial_time)

Fra times_for_diff;

Utgangen fra spørringen vil bestå av forskjellen mellom de to ganger i hver rad av de "times_for_diff" tabell.