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

Oracle:Tính chênh lệch múi giờ trong HH:MM:SS giữa 2 ngày

Có phải ngày tháng trong kiểu varchar2 không? Sau đó, trước tiên bạn có thể chuyển đổi nó thành định dạng dấu thời gian. Vì nó cũng có múi giờ, hãy sử dụng hàm to_timestamp_tz.

SQL> select to_timestamp_tz('Sun Dec 29 11:55:29 EST 2013','Dy Mon dd hh24:mi:ss TZR yyyy') from dual;

TO_TIMESTAMP_TZ('SUNDEC2911:55:29EST2013','DYMONDDHH24:MI:SSTZRYYYY')
---------------------------------------------------------------------------
29-DEC-13 11.55.29.000000000 AM EST

Khi các ngày ở loại dấu thời gian, việc trừ chúng đi sẽ cung cấp cho bạn sự khác biệt về khoảng thời gian giữa ngày so với loại thứ hai.

SQL> select   to_timestamp_tz ('Mon Dec 30 20:21:34 EST 2013','Dy Mon dd hh24:mi:ss TZR yyyy')
  2         - to_timestamp_tz ('Sun Dec 29 11:55:29 EST 2013','Dy Mon dd hh24:mi:ss TZR yyyy') from dual;

TO_TIMESTAMP_TZ('MONDEC3020:21:34EST2013','DYMONDDHH24:MI:SSTZRYYYY')-TO_TI
---------------------------------------------------------------------------
+000000001 08:26:05.000000000

Sau đó, sử dụng giải nén để lấy các thành phần riêng lẻ từ khoảng thời gian.

SQL> select extract(day from intrvl) as dd,
  2         extract(hour from intrvl) as hh24,
  3         extract(minute from intrvl) as mi,
  4         extract(second from intrvl) as ss
  5  from (
  6        select   to_timestamp_tz ('Mon Dec 30 20:21:34 EST 2013','Dy Mon dd hh24:mi:ss TZR yyyy')
  7               - to_timestamp_tz ('Sun Dec 29 11:55:29 EST 2013','Dy Mon dd hh24:mi:ss TZR yyyy') as intrvl
  8       from dual
  9       );

        DD       HH24         MI         SS
---------- ---------- ---------- ----------
         1          8         26          5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truyền một mảng dữ liệu làm tham số đầu vào cho một thủ tục Oracle

  2. Java cho OS X 2013-004 ảnh hưởng (phá vỡ) các ứng dụng Swing như thế nào?

  3. Cơ sở dữ liệu:Hàm Pipelined

  4. Giá trị của dữ liệu theo thời gian

  5. Truy vấn SQL để dịch một danh sách các số được so khớp với một số phạm vi, thành một danh sách các giá trị