sql >> Database >  >> RDS >> Oracle

Hoe het verschil tussen twee tijdstempels in Oracle te berekenen

Probleem:

Je hebt twee kolommen van het type timestamp en u wilt het verschil ertussen berekenen.

Voorbeeld:

In de travel tabel, zijn er drie kolommen:id , departure , en arrival . U wilt het verschil berekenen tussen de arrival en de departure .

De travel tabel ziet er als volgt uit:

id vertrek aankomst
1 2018-03-25 12:00:00 2018-04-05 07:30:00
2 2019-09-12 15:50:00 2019-10-23 10:30:30
3 2018-07-14 16:15:00 2018-07-14 20:40:30
4 2018-01-05 08:35:00 2019-01-08 14:00:00

SSOplossing:

SELECT
  id,
  departure,
  arrival,
  arrival - departure AS difference
FROM travel;

Het resultaat is:

id vertrek aankomst verschil
1 2018-03-25 12:00:00 2018-04-05 07:30:00 10 19:30:0.0
2 2019-09-12 15:50:00 2019-10-23 10:30:30 40 18:40:300.0
3 2018-07-14 16:15:00 2018-07-14 20:40:30 0 4:25:30.0
4 2018-01-05 08:35:00 2019-01-08 14:00:00 368 5:25:0.0

Discussie:

Om het verschil tussen de tijdstempels in Oracle te berekenen, trekt u eenvoudig de begintijdstempel af van de eindtijdstempel (hier:arrival - departure ). De resulterende kolom bevindt zich in INTERVAL DAY TO SECOND . Het eerste getal dat u ziet, is het aantal hele dagen dat is verstreken vanaf departure naar arrival . Vervolgens ziet u het aantal volledige uren, volledige minuten en het aantal seconden, met een gedeeltelijke seconde als decimaalteken.


  1. Hoe de PostgreSQL-versie te controleren

  2. Postgresql Drop View

  3. Maak verbinding met SQL Server met Windows-verificatie vanaf een Linux-machine via JDBC

  4. Hoe een query in postgresql stoppen / beëindigen?