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());
参考链接: