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

在QuestDB中创建INTERVAL类型列报错,是否支持该类型?

在QuestDB中创建INTERVAL类型列的问题

QuestDB不支持将INTERVAL类型作为持久化列存储,你遇到的non-persisted type: interval错误正是因为这个原因。

虽然QuestDB支持INTERVAL类型用于查询阶段的时间计算(比如时间戳加减操作),但该类型属于临时计算类型,无法定义为表的持久化列。

替代方案

用数值类型存储时间间隔的具体单位数值,查询时再转换为INTERVAL类型进行计算:

  • 示例1:用LONG存储毫秒级间隔
    创建表:

    CREATE TABLE tasks (
      id LONG,
      task_interval_ms LONG,
      ts TIMESTAMP
    ) TIMESTAMP(ts) PARTITION BY DAY;
    

    查询时转换为INTERVAL并计算:

    SELECT id, ts, ts + INTERVAL task_interval_ms MILLISECOND AS next_run_time
    FROM tasks;
    
  • 示例2:用LONG存储天数级间隔
    创建表:

    CREATE TABLE tasks (
      id LONG,
      task_interval_days LONG,
      ts TIMESTAMP
    ) TIMESTAMP(ts) PARTITION BY DAY;
    

    查询时转换为INTERVAL并计算:

    SELECT id, ts, ts + INTERVAL task_interval_days DAY AS next_run_time
    FROM tasks;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 17:43:14