clickhouse写入时间后查询出来不对。差了上百年。

场景:

java中的long类型存入clickhouse中的long类型字段,作为时间。

查询时,通过函数把long类型转化成时间格式。

然后发现日期差了几十年。

clickhouse时间处理问题纳秒_java

这是存入数据库的long值1625471075301。

在数据库中查询时发现:

clickhouse时间处理问题纳秒_时间格式_02


这里成了2106年。问题原因:前面java中存入的long值,其实带了毫秒值。也就是long的后三位,是秒之后的,直接这么转,等于是时间戳多出来三位数。

clickhouse时间处理问题纳秒_java_03

21.5.6.6版本目前转化函数中,还未发现能自动处理这个纳秒的函数。
所以,只能先截断一下。
还需要再尝试尝试其他方法。