Teradata JDBC 16.20 возвращает неверную дату в Datagrip

Я использую Teradata JDBC 16.20 в Datagrip. Всякий раз, когда я пытаюсь что-то сделать с датой, она возвращается на 1 день меньше. Например: SELECT date'2017-08-01' возвращается 2017-07-31 в Datagrip и в Teradata SQL Assistant он возвращает правильно 01/08/2017,

Кто-нибудь знает почему?

2 ответа

Добавление -Duser.timezone=UTC варианты ВМ, похоже, решают проблему.

У нас та же проблема с использованием DataGrip с базой данных Vertica. Я догадываюсь, что дата сдвигается дважды. Когда я выбираю current_timestamp (который в Vertica является меткой времени с часовым поясом), дата является правильной (обычно на день раньше текущей даты), но когда я выбираю current_date, я получаю предыдущий день (мой часовой пояс - США / Тихий океан). Я думаю, что происходит, драйвер JDBC корректирует дату на основе двух часовых поясов, а затем DataGrip корректирует ее во второй раз.

У нас нет проблем с использованием той же базы данных Vertica с тем же драйвером JDBC, но с другим клиентом SQL (DbVisualizer).

Единственный обходной путь, который я могу предложить, используя DataGrip, - установить гораздо более старую версию. DataGrip 2016.3.4, сборка № DB-163.13906.13, построенная 21 февраля 2017 г., похоже, правильно обрабатывает столбцы даты.

Другие вопросы по тегам