Рассчитать дату и дату выходных на Presto - PullRequest
0 голосов
/ 31 марта 2020

Для данных дня, месяца и года в виде целочисленных столбцов в таблице рассчитайте дату и дату выходного дня из этих значений.

Я попытался выполнить следующие действия:

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

возвращает сообщение об ошибке "INVALID_FUNCTION_ARGUMENT" : Неверный формат: «202032» слишком короткий »

1 Ответ

1 голос
/ 31 марта 2020

Самый простой способ - использовать format() + cast до date:

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

Поскольку Афина по-прежнему основана на Presto .172, она не пока есть эта функция, так что вы можете сделать то же самое без format:

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