Clickhouse返回的时间不正确



我在ClickHouse数据库中观察到掉队的事情

当我在WHERE条件中指定日期时间时,陈词滥调会将我的请求移动一个小时。这种情况发生在具有DateTime类型的所有表上

我的机器位于莫斯科时区UTC+3服务器位于CET时间UTC+1莫斯科没有夏令时,但这个问题早就出现了我认为这是因为欧洲一小时一小时地改变

例如,给我23:59到00:19之间的记录datetime列具有datetime类型

select datetime from ticker_arch
where
datetime <= '2020-11-23 00:10:00' and
datetime >= '2020-11-22 23:59:00'
order by datetime desc

结果给出了22:59到23:10之间的记录

2020-11-22 23:09:46
2020-11-22 23:09:46
2020-11-22 23:09:46
2020-11-22 23:09:46

当我在Datagrip和代码DBContext中运行查询时,就会发生这种情况请建议

这是CH JDBC驱动程序的预期行为。

JDBC驱动程序将DateTime值(转换为其字符串表示形式(从CH服务器时区转换为本地(对于JVM(时区。

https://github.com/ClickHouse/ClickHouse/issues/17387


CH客户端相同:

# clickhouse-client --use_client_time_zone=1 -q "select now(), toString(now())"
2020-11-25 19:02:31 2020-11-25 20:02:31
# TZ=Europe/Moscow clickhouse-client --use_client_time_zone=1 -q "select now(), toString(now())"
2020-11-25 22:02:59 2020-11-25 20:02:59

now((--由客户端使用本地时区呈现为String

toString(now(((--由服务器使用servertimezone 呈现为String

最新更新