SYSDATE和SYSTIMESTAMP的并不受数据库参数DBTIMEZONE的影响,操作系统时区的环境变量(如TZ)会影响它们的输入,因为SYSDATE和SYSTIMESTAMP实际是调用操作系统底层接口直接返回。 DBTIMEZONE的设置只会影响数据库内两种数据类型的:一种是TimeStamp with Time
SYSDATE和SYSTIMESTAMP的值并不受数据库参数DBTIMEZONE的影响,操作系统时区的环境变量(如TZ)会影响它们的输入,因为SYSDATE和SYSTIMESTAMP实际是调用操作系统底层接口直接返回值。
DBTIMEZONE的设置只会影响数据库内两种数据类型的值:一种是TimeStamp with Time Zone,另一种是TimeStamp with Local Time Zone。
操作系统层面TZ环境变量的设置直接影响sysdate和systiestamp的值,同时也会影响数据库日志写入的时间戳。
先来以下一段官方相关解释:
SYSTIMESTAMP is the timestamp on the server machine itself and is obtained on Unix platforms by calling "
GetTimeOfDay " and on Windows by calling "GetSystemTime" to get the servers local time.
This means that SYSTIMESTAMP, just like SYSDATE depends on Unix platforms on the UNIX time configuration (= Unix TZ variable) for the Unix session when the database and listener where started.