Spark sql DATEADD

XTe*_*Tec 3 apache-spark apache-spark-sql

我正在尝试过滤掉从当前日期到过去 3 年的数据,并尝试将其用于 Spark sql 查询:(例如:d_date列格式2009-09-18

WHERE d_date >= DATEADD(MONTH, -3, GETDATE())
Run Code Online (Sandbox Code Playgroud)

但出现以下错误。

未定义的函数:“DATEADD”。该函数既不是注册的临时函数,也不是数据库“default”中注册的永久函数。

Spark SQL 有等效的 DATEADD 吗?

bla*_*hop 8

Spark SQL 有date_add功能,它与您尝试使用的功能不同,因为它只需要几天的时间即可添加。

对于您的情况,您可以使用add_months添加-36 = 3 years

WHERE d_date >= add_months(current_date(), -36)
Run Code Online (Sandbox Code Playgroud)