我在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 Athena 客户端引发错误。INVALID_CAST_ARGUMENT:目前无法转换值:2020-01-16 19:09:25.086223
有一些方法。
- 使用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
- 使用子叉函数
presto> select cast(substr('2020-01-16 19:09:25.086223', 1, 10) as date);
_col0
------------
2020-01-16