Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да изчислим разликата между две времеви марки в Oracle

Проблем:

Имате две колони от типа timestamp и искате да изчислите разликата между тях.

Пример:

В travel таблица, има три колони:id , departure и arrival . Искате да изчислите разликата между arrival и departure .

travel таблицата изглежда така:

id отпътуване пристигане
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

SРешение:

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

Резултатът е:

id отпътуване пристигане разлика
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

Дискусия:

За да изчислите разликата между клеймите за време в Oracle, просто извадете началната дата от крайната дата (тук:arrival - departure ). Получената колона ще бъде в INTERVAL DAY TO SECOND . Първото число, което виждате, е броят на цели дни, изминали от departure до arrival . След това ще видите броя на пълните часове, пълните минути и броя на секундите, като всяка частична секунда е десетичната запетая.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите таблица, където статистиката е заключена

  2. 2 начина да получите минути от стойност на дата и час в базата данни на Oracle

  3. Вмъкнете, ако не съществува Oracle

  4. CX_Oracle - импортирайте данни от Oracle в рамка с данни на Pandas

  5. Как да намерите LEFT OUTER JOIN или ДЯСНО OUTER JOIN с ORACLE JOIN (+)