我在 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/