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

Oracle 10g Múi giờ nhầm lẫn

Thực tế có 3 múi giờ ở đây, không phải 2

  • múi giờ của phiên / khách hàng
    • Được hiển thị trong SESSIONTIMEZONE
    • Đây là múi giờ của CURRENT_DATE, LOCALTIMESTAMP và CURRENT_TIMESTAMP. Sự khác biệt giữa 3 loại đó là kiểu trả về, chúng lần lượt trả về DATE, TIMESTAMP và TIMESTAMP WITH TIME ZONE)
  • Múi giờ cơ sở dữ liệu
    • Được hiển thị trong DBTIMEZONE
    • Đây là múi giờ được sử dụng cho bộ nhớ trong của các giá trị TIMESTAMP VỚI Múi giờ ĐỊA PHƯƠNG. Lưu ý rằng các giá trị được chuyển đổi thành / từ múi giờ của phiên trên insert / select nên nó thực sự không quan trọng như bạn tưởng tượng
    • Đây KHÔNG phải là múi giờ của SYSDATE / SYSTIMESTAMP
  • Múi giờ của hệ điều hành cơ sở dữ liệu
    • Trong unix, nó dựa trên biến TZ khi khởi động Oracle
    • Đây là múi giờ của SYSDATE và SYSTIMESTAMP

Trong ví dụ đầu tiên của bạn, tôi có thể thấy rằng phiên TZ là UTC-6, TZ cơ sở dữ liệu là UTC và múi giờ của hệ điều hành cơ sở dữ liệu là UTC-6.

Trong ví dụ thứ hai của bạn, tôi có thể thấy rằng phiên TZ là UTC-6, TZ cơ sở dữ liệu là UTC + 2 và múi giờ của hệ điều hành cơ sở dữ liệu là UTC + 1.



  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 thế nào để nhập ký tự dòng mới trong Oracle?

  2. Khai thác dữ liệu Oracle (ODM) - Cài đặt &Thiết lập

  3. Oracle DateTime trong mệnh đề Where?

  4. Kiểm toán trong Oracle

  5. Tiện ích:Tạo thủ tục PL / SQL để xuất dữ liệu từ bảng trong 2 phút