select SPARE_PART_ID amont_id,sum(amount) monthAmount
from pmms.SPARE_PART_TRANS_INFO
where trans_type='2'
and CAST(created_dt AS date) between '2016-09-19' and '2016-09-27'
group by SPARE_PART_ID,DATEADD(month, DATEDIFF(month, 0, CAST(created_dt AS date)), 0)
在此查询中,DATEADD和DATEDIFF函数无效,因为它表示月份不存在。
帮助表示赞赏。
答案 0 :(得分:0)
Postgresql中没有DATEDIFF函数,因此您收到此错误。
您可以使用此查询获得数月差异,而不是使用DATEDIFF
SELECT (DATE_PART('year', '2012-01-01'::date) - DATE_PART('year', '2011-10-02'::date)) * 12 +
(DATE_PART('month', '2012-01-01'::date) - DATE_PART('month', '2011-10-02'::date));
检查details上述查询的用法,这将解释DATEDIFF不在Postgresql中。