Jul*_*que 2 sql postgresql casting datepart looker
当我DATE_PART
在此查询的函数中减去两个日期时遇到问题。
SELECT
TO_CHAR(date_trunc('month',sql_activity_days.created_month),'YYYY-MM') AS "sql_activity_days.created_month",
coalesce(SUM(
CASE
WHEN(date_part('day', (sql_activity_days.sale_date + 1) - sql_activity_days.start_date) < 122)
THEN sql_activity_days.cad_net_invoiced
ELSE NULL
END
),0) AS "sql_activity_days.activity_over_122_day_after_signup"
FROM
camel.f_subscription_touch AS subscription_touch
LEFT JOIN sql_activity_days ON subscription_touch.id = sql_activity_days.customer_id
group by date_trunc('month',sql_activity_days.created_month)
order by 1 desc limit
500
Run Code Online (Sandbox Code Playgroud)
PostgreSQL 数据库在运行此查询时遇到错误。
错误:函数 date_part(unknown, integer) 不存在 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。位置:1340
函数date_part
的第二个参数可以是 a timestamp
或 an interval
。
您的表达式(sql_activity_days.sale_date + 1) - sql_activity_days.start_date
减去 two dates
,其结果数据类型是整数,因此会出现错误。
解决这个问题的方法是直接删除date_part
和使用表达式。两个日期的差值总是以天为单位给出值。
归档时间: |
|
查看次数: |
7021 次 |
最近记录: |