Sql 亚马逊红移-如何提取上月数据

Sql 亚马逊红移-如何提取上月数据,sql,amazon-redshift,Sql,Amazon Redshift,我正在尝试自动生成一个在每个月初运行的报告,以查询出上个月的所有销售情况。下面给出的是我正在使用的查询,但它返回空值。谁能帮我解决我在这里做错了什么 我正在使用亚马逊红移 select created_at,sale_id from billing where to_char(created_at,'yyyy-mm') = EXTRACT(month FROM CURRENT_DATE - '1 month'::interval); 谢谢。您正在将'2018-05'之类的字符串与5之类的数值

我正在尝试自动生成一个在每个月初运行的报告,以查询出上个月的所有销售情况。下面给出的是我正在使用的查询,但它返回空值。谁能帮我解决我在这里做错了什么

我正在使用亚马逊红移

select created_at,sale_id from billing 
where to_char(created_at,'yyyy-mm') = EXTRACT(month FROM CURRENT_DATE - '1 month'::interval);

谢谢。

您正在将
'2018-05'
之类的字符串与
5
之类的数值进行比较(提取返回一个数字),因此这是行不通的。您需要在等号的两侧使用相同的值,例如

select created_at,sale_id 
from billing 
where to_char(created_at,'yyyy-mm') = to_char(CURRENT_DATE - '1 month'::interval, 'yyyy-mm');

您正在将一个字符串(如
'2018-05'
)与一个数值(如
5
)进行比较(提取返回一个数字),因此这是行不通的。您需要在等号的两侧使用相同的值,例如

select created_at,sale_id 
from billing 
where to_char(created_at,'yyyy-mm') = to_char(CURRENT_DATE - '1 month'::interval, 'yyyy-mm');