Clickhouse触发BUG了?关于DateTime类型的问题
Clickhouse触发BUG了?关于DateTime类型的问题
版本:
dev-app76 :) select version(); SELECT version() Query id: bd6d8b6d-28f8-42e3-b7f3-21d33e3e2bf8 ┌─version()─┐ │ 22.3.2.1 │ └───────────┘ 1 rows in set. Elapsed: 0.003 sec.
时区是正确的。
但是“1970-01-01 00:00:00”这个时间一直显示为“1970-01-01 08:00:00”。
尝试了几个值,只要是“1970-01-01 00:00:00-1970-01-01 08:00:00”都显示为“1970-01-01 08:00:00”。
(听开发的说也有insert之后变为2106-02-07 06:28:15)
作为对比,DateTime64这个类型就没问题。
dev-app76 :) select timezone(); SELECT timezone() Query id: 3fa5f3f5-c208-46b2-9105-e3051ee9949f ┌─timezone()────┐ │ Asia/Shanghai │ └───────────────┘ 1 rows in set. Elapsed: 0.003 sec. dev-app76 :) select cast('1970-01-01 00:00:00','DateTime') as time,cast('1970-01-01 10:00:00','DateTime64'),toDateTime(time,'Asia/Shanghai'),timezoneOf(time); SELECT CAST('1970-01-01 00:00:00', 'DateTime') AS time, CAST('1970-01-01 10:00:00', 'DateTime64'), toDateTime(time, 'Asia/Shanghai'), timezoneOf(time) Query id: 24fb71ec-7b96-4a5e-9da9-b5a1b97b2282 ┌────────────────time─┬─CAST('1970-01-01 10:00:00', 'DateTime64')─┬─toDateTime(CAST('1970-01-01 00:00:00', 'DateTime'), 'Asia/Shanghai')─┬─timezoneOf(CAST('1970-01-01 00:00:00', 'DateTime'))─┐ │ 1970-01-01 08:00:00 │ 1970-01-01 10:00:00.000 │ 1970-01-01 08:00:00 │ Asia/Shanghai │ └─────────────────────┴───────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────┘ 1 rows in set. Elapsed: 0.003 sec.
其他:
select timezone(); select toTypeName(toDateTime('1970-01-01 00:00:00')); select toTypeName('1970-01-01 00:00:00'); SELECT timezoneOf(now());
参考链接:
分类:
ClickHouse
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?