如何从Redshift中的特定日期减去n天数?

Sta*_*yrr 2 sql amazon-redshift

我正在尝试找出一种方法,从 Redshift SQL 中的特定日期(不是当前日期)减去 n 天数。网上有很多关于从今天减去或添加 n 天的教程,但我找不到源日期不是今天的资源。

例如,date(qqr.date_created) >= '2020-06-08' - '45 days' :: interval不起作用,因为 Redshift 会在2020-06-08日期戳周围引发错误。像这样的格式date(qqr.date_created) >= date(getdate()) - '45 days' :: interval可以工作,但这不是我想要的,因为我不想得到“今天之前的 45 天”,我试图得到“我指定的日期之前的 45 天”。

任何建议将不胜感激!

Gor*_*off 5

我会把它写成:

'2020-06-08'::date - interval '45 day'
Run Code Online (Sandbox Code Playgroud)

这将转换为日期,然后减去天数。

如果天数不是严格恒定的,您可以使用算术:

'2020-06-08'::date - 45 * interval '1 day'
Run Code Online (Sandbox Code Playgroud)