SQL Athena 上的 Date_Part - “函数 date_part 未注册”

Shi*_*raP 3 amazon-s3 amazon-web-services presto amazon-athena

我正在尝试查找最近的周日(仅出于示例目的)

在下面的链接中,我找到了如何使用名为 date_part 的日期函数来提取星期几(例如,当前时间戳)以及可能有趣的日期的其他部分的说明。

https://docs.aws.amazon.com/redshift/latest/dg/r_DATE_PART_function.html

其要点:

例如查找星期几

从事件中选择 date_part(dow, starttime) 作为 dow

但是当我尝试在 Athena 上运行类似的东西时,我收到“function date_part not Registration”

那么如何找到最近的周日呢?或者一周中的任何其他一天。

Pio*_*sen 7

您可以结合current_dateday_of_week获取最后一个星期日:

presto:default> SELECT date_add('DAY', -day_of_week(current_date), current_date);
   _col0
------------
 2019-12-15
(1 row)
Run Code Online (Sandbox Code Playgroud)

注意:如果在周日运行,则返回上周日。您可以根据需要轻松调整此设置if

在 Presto 326 上测试。

由于 Athena 目前基于 Presto .172,因此您可以在此处了解所有可用功能: https: //trino.io/docs/0.172/functions.html