在 Presto 上计算日期和周末日期

Calculate date and weekending date on Presto

给定 table 中作为整数列的日、月和年,根据这些值计算日期和周末日期。

我尝试关注

select date_parse(cast (2020 as varchar)||cast (03 as varchar)||cast (02 as varchar),'%Y%m%d')

returns 错误说 "INVALID_FUNCTION_ARGUMENT: Invalid format: "202032" 太短"

最简单的方法是使用format() + castdate:

presto> SELECT CAST(format('%d-%d-%d', 2020, 3, 31) AS date);
   _col0
------------
 2020-03-31

由于Athena还是基于Presto .172,目前还没有这个功能,所以你可以不用format:

presto> SELECT CAST(CAST(2020 AS varchar) || '-' || CAST(3 AS varchar) || '-' || CAST(31 AS varchar) AS date);
   _col0
------------
 2020-03-31