Có một sự hiểu lầm phổ biến rằng DBTIMEZONE
là múi giờ cho SYSDATE
và SYSTIMESTAMP
SYSDATE
và SYSTIMESTAMP
được trả về theo múi giờ của hệ điều hành mà máy chủ cơ sở dữ liệu đặt trên đó.
DBTIMEZONE
là múi giờ (nội bộ) của TIMESTAMP WITH LOCAL TIME
các giá trị. Tôi không biết bất kỳ công dụng thực tế nào của nó. Lưu ý, bạn không thể thay đổi DBTIMEZONE
trên cơ sở dữ liệu của bạn nếu cơ sở dữ liệu chứa một bảng có TIMESTAMP WITH LOCAL TIME ZONE
và cột chứa dữ liệu.
Nếu bạn muốn thời gian hiện tại lúc DBTIMEZONE chạy
select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE
from dual;
CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE
cũng đang hoạt động.
Xem thêm Cách thực hiện để xử lý Tiết kiệm ánh sáng ban ngày trong cơ sở dữ liệu Oracle