Ошибка недопустимой_карты в Афинах (Престо) - PullRequest
0 голосов
/ 24 января 2020

Я новичок в sql, я пытаюсь выполнить простой запрос

select
        *,
        max(cast(version_date as date)) over (partition by id) mx_dt,
        min(cast(version_date as date)) over (partition by id) min_dt
    from "raw_data"."raw_brands";

, но получаю эту ошибку:

Ошибка AWS Афина клиент. INVALID_CAST_ARGUMENT: Невозможно привести значение к дате: 2020-01-16 19: 09: 25.086223

1 Ответ

1 голос
/ 25 января 2020

Есть несколько подходов.

  1. Используйте функцию date_parse .
presto> select date_parse('2020-01-16 19:09:25.086223', '%Y-%m-%d %H:%i:%s.%f');
          _col0
-------------------------
 2020-01-16 19:09:25.086

и затем приведение к дате.

presto> select date(date_parse('2020-01-16 19:09:25.086223', '%Y-%m-%d %H:%i:%s.%f'));
   _col0
------------
 2020-01-16

presto> select cast(date_parse('2020-01-16 19:09:25.086223', '%Y-%m-%d %H:%i:%s.%f') as date);
   _col0
------------
 2020-01-16
Использование substr function
presto> select cast(substr('2020-01-16 19:09:25.086223', 1, 10) as date);
   _col0
------------
 2020-01-16
...