Oracle TO_DATE неправильно конвертирует даты после 2020/01/07 - PullRequest
1 голос
/ 06 января 2020

TO_DATE в Oracle неверно преобразует следующий оператор:

inserir a descrição da imagem aqui

SELECT 
    to_date('20200108 000000', 'YYYYMMDD HH24MISS') D1, 
    to_date('20200107 000000', 'YYYYMMDD HH24MISS') D2
FROM dual;

Обе строки в точности совпадают, за исключением 8 вместо из 7. Это не имеет смысла (для меня), Oracle преобразование вторника правильно, а не среда. Там не должно быть никакого DST ...

Ответы [ 2 ]

0 голосов
/ 07 января 2020

Это было решено.

Часы на сервере моего клиента были настроены на использование DST и получили эту ошибку, потому что у нас должен был быть DST в Бразилии в 2020 году, но мы этого не сделали.

Я полагаю, что это произошло, потому что это старый Windows Сервер и, возможно, он не обновил таблицы DST.

Обновление часов на сервере решило проблему.

Сама ошибка, на мой взгляд, была сгенерирована драйвером приложения, а не Oracle.

0 голосов
/ 07 января 2020

Это инструмент, который вы используете, SQL Developer. Он переопределяет настройки БД NLS своими собственными.

Go в Инструменты -> Настройки, затем База данных -> NLS и проверяет настройки

The tool's NLS settings

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...