首页 > 解决方案 > BigQuery DATEADD(MAX(myDate), 1, YEAR) 返回函数未找到:DATEADD;你是说 date_add 吗?在 [6:7]

问题描述

我正在尝试找到一个日期,然后添加一个包含该日期 +1 年的列。但由于某种原因,我不能在 DATEADD 方法中使用聚合函数。有没有人有解决方法?

控制台返回此错误。

Function not found: DATEADD; Did you mean date_add? at [6:7]

这是查询。

SELECT d.org_id, 
    o.name, 
    SUM(CAST(d.converted_value AS NUMERIC)) as ltv, 
    MIN(won_time) AS first_deal_date, 
    MAX(won_time) AS last_deal_date, 
    DATEADD(MAX(won_time), 1, YEAR) AS churn_date, 
    EXTRACT(YEAR FROM MAX(won_time)) < EXTRACT(YEAR FROM CURRENT_DATE) as churn 
FROM deals d
INNER JOIN organizations AS o ON d.org_id = o.id
WHERE d.status = 'won'
GROUP BY d.org_id, o.name;

标签: sqlgoogle-bigquery

解决方案


你在找这个吗?

DATE_ADD(MAX(won_time), INTERVAL 1 YEAR) AS churn_date, 

这假设won_time是一个date. 如果没有,请将其转换为日期或使用DATETIME_ADD()or TIMESTAMP_ADD()


推荐阅读