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

SQL计算用户活跃/首次行程距今天数及Presto DATEDIFF报错解决

Presto日期差值计算方案及报错解决

报错根因

你使用的DATEDIFF语法适配的是MySQL等引擎,Presto的date_diff函数要求第一个时间单位参数必须用单引号包裹,你未加引号时,引擎会将day识别为字段名检索,因此触发找不到day列的报错。

需求实现代码

  • 计算用户完成首次行程至今的天数(修正后写法):
date_diff('day', first_completed_trip_timestamp, CURRENT_DATE) AS days_since_ft

如果需要规避时区差异导致的计算偏差,可先统一转换为日期类型再计算:

date_diff('day', date(first_completed_trip_timestamp), CURRENT_DATE) AS days_since_ft
  • 计算用户最后一次活跃至今的天数,替换对应时间字段即可:
date_diff('day', last_active_timestamp, CURRENT_DATE) AS days_since_last_active

注意事项

Presto的date_diff返回值为第二个时间参数减去第一个时间参数的差值,若计算结果为负数,说明两个时间参数的顺序写反了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:24:03