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 г., похоже, правильно обрабатывает столбцы даты.