SYSTIMESTAMP returns wrong timezone for AMERICA/SAO_PAULO and BRAZIL/EAST in SQLDeveloper and SQLcl after installing the DSTv34 patch for Oracle Database.
(Doc ID 2621534.1)
Last updated on JULY 20, 2024
Applies to:
Oracle Database - Enterprise Edition - Version 12.1.0.2 and laterInformation in this document applies to any platform.
Symptoms
The function "systimestamp AT TIME ZONE 'America/Sao_Paulo'" and "systimestamp AT TIME ZONE 'Brazil/East'" returns wrong timezone after upgrading database with DSTv34 patch.
Using "to_char(systimestamp AT TIME ZONE 'America/Sao_Paulo','DD/MM/YYYY HH24:MI:SS')" or "to_char(systimestamp AT TIME ZONE 'America/Sao_Paulo','DD/MM/YYYY HH24:MI:SS')" returns the correct timezone after upgrading database with DSTv34 patch.
The problem happens from JDBC clients (SQLDeveloper, SQLcl, Java Application).
The problem does NOT happen from SQL*Plus (using "sqlplus / as sysdba" or EZCONNECT "sqlplus sys/password@hostname:port/service_name as sysdba").
AMERICA/SAO_PAULO and BRAZIL/EAST are GMT-3.
"systimestamp AT TIME ZONE 'America/Sao_Paulo'" returns GMT-2. THIS IS THE PROBLEM.
"to_char(systimestamp AT TIME ZONE 'America/Sao_Paulo','DD/MM/YYYY HH24:MI:SS') as tocharsysAmerica" returns GMT-3, which is correct.
Changes
Installed the DSTv34 patch on the Oracle Database.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |