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

Làm thế nào tôi có thể nhận được sự khác biệt về giờ giữa hai ngày?

Lỗi là do SYSDATE đã là một ngày, không cần sử dụng TO_DATE() để chuyển nó thành ngày tháng.

Nếu bạn không chuyển đổi nó thành một ngày:

select
    24 * (sysdate - to_date('2012-02-28 15:20', 'YYYY-MM-DD hh24:mi')) as diff_hours
from dual;

Và nếu định dạng ngày sai, bạn có thể sử dụng hai bước như:

select
    24 * (to_date(to_char(sysdate, 'YYYY-MM-DD hh24:mi'), 'YYYY-MM-DD hh24:mi') - to_date('2012-02-28 15:20', 'YYYY-MM-DD hh24:mi')) as diff_hours
from dual;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chạy tổng từ cột thứ hai

  2. chuyển đổi sang PROCEDURE pl / sql

  3. Tình huống khởi đầu với oracle (nội dung truy vấn phụ)

  4. Xóa các bản ghi khỏi bảng nguồn sau khi những bản ghi đó đã được chuyển qua thủ tục được lưu trữ sang bảng đích

  5. SQL Chọn giá trị MIN từ dữ liệu hàng có giá trị rỗng