oracle中SESSIONTIMEZONE和DBTIMEZONE有什么用

Viv*_*vek 6 timezone oracle11g

除了获取会话时区偏移和数据库时区偏移之外,oracle 数据库中SESSIONTIMEZONE和是否还有其他用途/作用。DBTIMEZONE

我想知道的是,在向数据库插入日期/从数据库检索日期方面,更改SESSIONTIMEZONE和值的含义是什么。DBTIMEZONE

Ark*_*icz 2

这些函数中使用会话和数据库时区。
- systimestampdbtimezone 中的时间戳。
-current_timestamp会话时区中的时间戳。

可能在许多其他地方。我确信更改会影响 dbms_scheduler。
Oracle 在从没有时区的日期时间到日期时间的隐式转换期间也使用会话时区。timestamp with time zone

declare
 with_dbtimezone    TIMESTAMP WITH TIME ZONE := systimestamp; --dbtimezone 
 with_sesione_timezone  TIMESTAMP WITH TIME ZONE := current_timestamp; --sesione_timezone
 no_time_zone  TIMESTAMP := with_dbtimezone; -- remmove timezone from ;
 implicitit_converiosn  TIMESTAMP WITH TIME ZONE := no_time_zone;
begin 
 dbms_output.put_line(to_char(with_dbtimezone,'YYYY-MM-DD hh24:mi:ss TZR')); 
 dbms_output.put_line(to_char(with_sesione_timezone,'YYYY-MM-DD hh24:mi:ss TZR'));
 dbms_output.put_line(to_char(no_time_zone,'YYYY-MM-DD hh24:mi:ss TZR'));
 dbms_output.put_line(to_char(implicitit_converiosn,'YYYY-MM-DD hh24:mi:ss TZR'));
end;
Run Code Online (Sandbox Code Playgroud)