sql - Teradata JDBC 16.20 在 Datagrip 中返回错误日期

标签 sql teradata datagrip teradata-sql-assistant

我在 Datagrip 中使用 Teradata JDBC 16.20。 每当我尝试对日期执行任何操作时,它都会返回 1 天。 例如:SELECT date'2017-08-01' 在 Datagrip 中返回 2017-07-31,而在 Teradata SQL Assistant 中则正确返回 01/08/2017 .

有谁知道为什么吗?

最佳答案

我们在使用 DataGrip 和 Vertica 数据库时遇到同样的问题。我的预感是日期被移动了两次。当我选择 current_timestamp (在 Vertica 上是带有时区的时间戳)时,日期是正确的(通常比当前日期早一天),但是当我选择 current_date 时,我会得到前一天(我的时区是美国/太平洋地区)。我认为正在发生的事情是 JDBC 驱动程序根据两个时区调整日期,然后 DataGrip 进行第二次调整。

使用具有相同 JDBC 驱动程序的相同 Vertica 数据库,但使用不同的 SQL 客户端 (DbVisualizer) 时,我们不会遇到问题。

我可以提供的使用 DataGrip 的唯一解决方法是安装更旧的版本。 DataGrip 2016.3.4,Build #DB-163.13906.13,构建于 2017 年 2 月 21 日,似乎可以正确处理日期列。

关于sql - Teradata JDBC 16.20 在 Datagrip 中返回错误日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635645/

相关文章:

sql - 如何使用 DataGrip 通过 SSH 连接到数据库

javascript - 请求 SQL 2 左外连接

sql - Entity Framework 模型创建

sql - 卡在这个命令循环中,试图得到这个查询命令的正确答案

PhpStorm 数据编辑器控制台窗口中的 MySQL 更改分隔符

mysql - 是否可以从同一张表中获得多个外键?

hadoop - 增量 “lastmodified”在sqoop中不起作用

sql - 计算Teradata中2个日期之间的时间差

java - 将表从 Teradata 复制到 mysql