You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ClickHouse中toDateTime64函数的第二个参数含义是什么?

关于ClickHouse toDateTime64()函数第二个参数的说明

那个整数参数其实是小数精度位数,用来指定DateTime64类型保留的小数部分长度,对应时间的亚秒级精度:

  • 当参数为0时,就是普通的DateTime精度(只到秒),和toDateTime()效果类似
  • 参数为3时,保留到毫秒(10^-3秒),这也是你给出的官方示例里用3的原因
  • 参数为6时,保留到微秒(10^-6秒)
  • 参数为9时,保留到纳秒(10^-9秒)

举个更直观的例子:

-- 保留3位小数(毫秒级)
SELECT toDateTime64('2019-01-01 00:00:00.123456', 3, 'Europe/Moscow');
-- 结果会是:2019-01-01 00:00:00.123

-- 保留6位小数(微秒级)
SELECT toDateTime64('2019-01-01 00:00:00.123456', 6, 'Europe/Moscow');
-- 结果会是:2019-01-01 00:00:00.123456

这个精度参数决定了DateTime64类型存储的时间粒度,同时在查询时也需要和目标字段的DateTime64精度保持一致,不然可能会出现匹配不上的情况——比如你的示例里timestamp字段应该是DateTime64(3)类型,用toDateTime64(...,3,...)才能准确匹配。

内容的提问来源于stack exchange,提问作者Yaroslav Zinchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:16:38