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.