雅典娜(Presto)字符串到日期的转换

时间:2019-05-22 23:42:49

标签: presto amazon-athena

我有以下字符串:'2019-05-17 04:44:00:000'。我想将其转换为日期,以便可以根据时间戳查询表。

我尝试了以下操作导致错误:

select street, city,
from_iso8601_timestamp(starttime)
from mydata where subtype='X';
INVALID_FUNCTION_ARGUMENT: Invalid format: "2019-05-17 04:44:00:000" is 
malformed at " 04:44:00:000"

SELECT street, city, date_parse(starttime,'%Y-%m-%d %H:%i:%s')
from mydata where subtype='X';
INVALID_FUNCTION_ARGUMENT: Invalid format: "2019-05-17 04:44:00:000" is malformed at " 04:44:00:000"

在Athena中进行转换的正确方法是什么?有毫秒参数吗?

1 个答案:

答案 0 :(得分:3)

您可以使用以下模式来解析给定的字符串。

'%Y-%m-%d %H:%i:%s:%f'

%f代表几分之一秒,并且可以分辨到微秒。

总体而言,这将导致以下查询。

SELECT date_parse('2019-05-17 04:44:00:000','%Y-%m-%d %H:%i:%s:%f')

有关更多信息,您可以查看documentation