Es ist ein verbreitetes Missverständnis, dass DBTIMEZONE
ist die Zeitzone für SYSDATE
und SYSTIMESTAMP
SYSDATE
und SYSTIMESTAMP
werden in der Zeitzone des Betriebssystems zurückgegeben, auf dem sich der Datenbankserver befindet.
DBTIMEZONE
ist die (interne) Zeitzone von TIMESTAMP WITH LOCAL TIME
Werte. Ich kenne keinen praktischen Nutzen davon. Beachten Sie, dass Sie DBTIMEZONE
nicht ändern können auf Ihrer Datenbank, wenn die Datenbank eine Tabelle mit einem TIMESTAMP WITH LOCAL TIME ZONE
enthält Spalte und die Spalte enthält Daten.
Wenn Sie die aktuelle Zeit bei DBTIMEZONE wünschen, führen Sie
ausselect SYSTIMESTAMP AT TIME ZONE DBTIMEZONE
from dual;
CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE
funktioniert auch.
Siehe auch Wie zur Handhabung der Sommerzeit in der Oracle-Datenbank