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

Chuyển đổi từ ngày sang kỷ nguyên-Oracle

Trừ DATE '1970-01-01' từ giá trị sẽ cho số ngày (và số giờ / phút / giây) chênh lệch và sau đó bạn có thể nhân với 24*60*60 :

(date_value - DATE '1970-01-01')*24*60*60

Cập nhật :

Thông thường, thời gian kỷ nguyên được đo từ 1970-01-01T00:00:00 UTC . Nếu ngày của bạn không phải theo giờ UTC thì bạn sẽ cần chuyển đổi múi giờ.

Ví dụ:nếu ngày của bạn có múi giờ Europe/Berlin :

( CAST(
    FROM_TZ(
      CAST( date_value AS TIMESTAMP ),     -- Cast to timestamp
      'Europe/Berlin'                      -- Convert to expected Time Zone
    )
    AT TIME ZONE 'UTC'                     -- Convert Time Zone to UTC
    AS DATE                                -- Cast back to DATE data type
  )
  - DATE '1970-01-01'
)*24*60*60

db <> fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Developer 4.1.3 đã được phát hành

  2. Làm thế nào để kiểm tra xem một thủ tục được lưu trữ có tồn tại hay không?

  3. Thực thi nhiều truy vấn trong một lệnh Oracle trong C #

  4. Bảo mật cơ sở dữ liệu Oracle - Mã hóa và giải mã

  5. Kết quả Cache