Athena将日期和时间的字符串表示形式转换为时间戳或日期类型



输入:我有一个date列,我想将该列强制转换为timestampdate数据类型。

示例:2020-09-07 05:12:25.247000(字符串数据类型(==>2020-09-07 05:12:25.247000(日期或时间戳数据类型(

有人能提出解决方案吗

对于时间戳,请使用以下查询,将实际值替换为列名:

select date_parse('2020-09-07 05:12:25.247000', '%Y-%m-%d %H:%i:%s.%f') as time; 

以上查询将给您

time
1   2020-09-07 05:12:25.247

如果您想要日期,则将上面的时间戳转换为日期:

select cast(date_parse('2020-09-07 05:12:25.247000', '%Y-%m-%d %H:%i:%s.%f') as date) as day

会给你

day
1   2020-09-07

使用typeof运算符验证类型:

select typeof(date_parse('2020-09-07 05:12:25.247000', '%Y-%m-%d %H:%i:%s.%f')). --> timestamp
select typeof(cast(date_parse('2020-09-07 05:12:25.247000', '%Y-%m-%d %H:%i:%s.%f') as date)). ->> date

最新更新