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.