use*_*011 1 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"
Run Code Online (Sandbox Code Playgroud)
在 Athena 中转换它的正确方法是什么?有毫秒参数吗?
您可以使用以下模式解析给定的字符串。
'%Y-%m-%d %H:%i:%s:%f'
Run Code Online (Sandbox Code Playgroud)
%f 代表几分之一秒,最多可解析为微秒。
总的来说,这将导致以下查询。
SELECT date_parse('2019-05-17 04:44:00:000','%Y-%m-%d %H:%i:%s:%f')
Run Code Online (Sandbox Code Playgroud)
有关更多信息,您可以查看官方文档。