Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak obliczyć różnicę między dwoma znacznikami czasu w Oracle?

Problem:

Masz dwie kolumny typu timestamp i chcesz obliczyć różnicę między nimi.

Przykład:

W travel tabeli, są trzy kolumny:id , departure i arrival . Chcesz obliczyć różnicę między arrival i departure .

travel tabela wygląda tak:

id wyjazd przybycie
1 2018-03-25 12:00:00 2018-04-05 07:30:00
2 2019-09-12 15:50:00 23-10-2019 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

Rozwiązanie:

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

Wynik:

id wyjazd przybycie różnica
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 23-10-2019 10:30:30 40 18:40:30.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

Dyskusja:

Aby obliczyć różnicę między znacznikami czasu w Oracle, po prostu odejmij początkowy znacznik czasu od końcowego znacznika czasu (tutaj:arrival - departure ). Wynikowa kolumna będzie w INTERVAL DAY TO SECOND . Pierwsza widoczna liczba to liczba pełnych dni, które upłynęły od departure do arrival . Następnie zobaczysz liczbę pełnych godzin, pełnych minut i liczbę sekund, z dowolną częściową sekundą jako miejscem dziesiętnym.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wprowadzenie do natywnego dynamicznego SQL w bazie danych Oracle

  2. Używanie Dappera z Oracle

  3. Jak połączyć się z bazą danych Oracle w R?

  4. Zresetuj sekwencję zgodnie z rokiem, a nie o wartość minimalną lub maksymalną

  5. REGEXP_REPLACE() Funkcja w Oracle