如何获取 7 天前的日期?

Cau*_*der 8 sql amazon-web-services amazon-redshift

我想制作一个图表来提供上周的数据。

我尝试使用这段代码,但它出错了。

where (time_stamp::date > dateadd(day, -7, now()::date))
Run Code Online (Sandbox Code Playgroud)

我也尝试过

(ud.time_stamp::date between now() and dateadd(day, -7, now()::date))
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误

运行查询时出错:Redshift 表不支持指定的类型或函数(每个 INFO 消息一个)。

Gor*_*off 12

在 Redshift 中,我会将其写为:

where time_stamp >= current_date - interval '6 day'
Run Code Online (Sandbox Code Playgroud)

我怀疑它time_stamp可能用于分区,并且您要小心涉及其上的函数的比较。


Tim*_*sen 0

试试这个版本:

WHERE time_stamp > DATEADD(day, -7, current_date)
Run Code Online (Sandbox Code Playgroud)

如果您还想将数据上限限制为今天午夜(即上周的数据,截至今天午夜),您可以使用:

WHERE time_stamp >= DATEADD(day, -7, current_date) AND time_stamp < current_date
Run Code Online (Sandbox Code Playgroud)