Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách tính toán sự khác biệt giữa hai dấu thời gian trong Oracle

Vấn đề:

Bạn có hai cột thuộc loại timestamp và bạn muốn tính toán sự khác biệt giữa chúng.

Ví dụ:

Trong travel bảng, có ba cột:id , departurearrival . Bạn muốn tính toán sự khác biệt giữa arrivaldeparture .

travel bảng trông như thế này:

id khởi hành đến
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

Giải pháp:

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

Kết quả là:

id khởi hành đến sự khác biệt
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: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

Thảo luận:

Để tính toán sự khác biệt giữa các dấu thời gian trong Oracle, chỉ cần trừ dấu thời gian bắt đầu khỏi dấu thời gian kết thúc (tại đây:arrival - departure ). Cột kết quả sẽ nằm trong INTERVAL DAY TO SECOND . Con số đầu tiên bạn thấy là số ngày đã qua từ departure đến arrival . Sau đó, bạn sẽ thấy số giờ đầy đủ, số phút đầy đủ và số giây, với bất kỳ phần giây nào ở vị trí thập phân.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NLS_CHARSET_DECL_LEN () Hàm trong Oracle

  2. Cách thực thi PL SQL Block trong Oracle

  3. Truy cập dịch vụ Web từ quy trình được lưu trữ của Oracle

  4. Chia địa chỉ IPv4 thành 4 số trong Oracle sql

  5. Thoát ký tự và ký tự trong chuỗi SQL