Аналогично проблеме, описанной в сообщении :
Но для самой базы данных Oracle.
На компьютере работает база данных, для которой часовой пояс / часы установлены на Бразилия / Восток / Бразилиа / время Сан-Паулу .Мы используем этот запрос, чтобы получить часы базы данных и преобразовать их в GMT :
SELECT to_char(sysdate, 'YYYY-MM-DD HH24:MI') AS MY_SYSDATE
, TO_CHAR(FROM_TZ (CAST (SYSDATE AS TIMESTAMP), 'America/Sao_Paulo') AT TIME ZONE 'GMT'
, 'YYYY-MM-DD HH24:MI') as gmt_brazil_east
, TO_CHAR(FROM_TZ (CAST (SYSDATE AS TIMESTAMP), 'Etc/GMT+3') AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI') as gmt_03
FROM DUAL
WHERE 1=1
;
Каждые, начиная с прошедших выходных, значение поля "gmt_brazil_east" неверное ... Iподозреваю, потому что наш Oracle не был обновлен, чтобы отразить недавние изменения, касающиеся того, когда Бразилия меняет летнее время ... Описано здесь :
Хотя наша версия базы данных является последней, это Oracle Database 12c Standard Edition, выпуск 12.2.0.1.0 - 64-разрядная версия
Я попытался найти информацию по этому вопросу, аналогичную приведенной выше статье, связанной с Java, но не смог ... Кто-нибудь знает, где яможно найти, в какой версии / патче Oracle исправлено это изменение часового пояса Бразилии?