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

如何在Cassandra查询中对now()生成的时间戳进行指定时长偏移?

Cassandra中实现时间戳偏移的方法

要实现对当前时间做指定时长的偏移,你需要注意:now()函数返回的是TIMEUUID类型,不能直接和时长数值运算,得转换成TIMESTAMP类型后再操作,或者改用直接返回TIMESTAMP的currentTimestamp()函数,具体两种方案如下:

方案1:使用currentTimestamp()(推荐)

currentTimestamp()直接返回当前的TIMESTAMP类型时间,支持和INTERVAL语法做加减运算,写法更简洁:

print(session.execute("SELECT currentTimestamp() - INTERVAL '1' HOUR FROM system.local").one())

执行后就能得到当前时间减1小时的结果,和你预期的一致。

方案2:基于now()转换后运算

如果一定要用now(),先通过toTimestamp()把它转成TIMESTAMP,再做偏移:

print(session.execute("SELECT toTimestamp(now()) - INTERVAL '1' HOUR FROM system.local").one())

其他偏移单位示例

你可以根据需求调整INTERVAL的单位和数值,比如:

  • 减30分钟:INTERVAL '30' MINUTE
  • 加2天:currentTimestamp() + INTERVAL '2' DAY
  • 减1年:currentTimestamp() - INTERVAL '1' YEAR

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:10:18