TIMETRUNCATE 函数使用报错 Invalid timzone format : timetruncate

【TDengine 使用环境】
测试环境

【TDengine 版本】

3.3.8.8 社区版

【操作系统以及版本】

SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux

【部署方式】容器/非容器部署

非容器部署 ,单机版

【描述业务影响】

创建了一个订单的超级表,需要按时间每小时统计一次,

将统计结果放在小时维度的另一张表中,打算使用流计算方式,所有要动态获得时间,截取整小时数作为统计条件,使用 函数 TIMETRUNCATE(now(), 1h, 1);

测试发行报错,当然表中没得数据,还没向表中插入数据。

测试sql:

select merchant_id,shop_id,
       sum(total_amount) as order_amount 
from `tedi-statistics`.u_user_pay_order
  where ts >=  TIMETRUNCATE(now(),2h,1) and ts <  TIMETRUNCATE(now(),1h,1) 
partition by merchant_id,shop_id;

【遇到的问题:问题现象及影响】

执行统计sql 报错:Invalid timzone format : timetruncate

如果直接执行sql:

SELECT TIMETRUNCATE(now(), 1h, 1);

是正常的,

【资源配置】

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

TIMETRUNCATE(expr, time_unit [, use_current_timezone])
函数中的 time_unit 只能是 1 个时间单位。可以将语句修改成:

ts >= TIMETRUNCATE(now()-2h,1h,1)

1 个赞

这个只能是1h不支持 2h 这种。

1 个赞

好的 ,我试试

好的,谢谢