雅典娜的字符串转换为YYYY-MM-DD日期格式

时间:2018-10-11 17:01:14

标签: amazon-athena presto

因此,我在这里浏览了文档和以前的答案,但似乎无法弄清楚。

我有一个表示日期的STRING。正常输出如下所示:

2018-09-19 17:47:12

如果执行此操作,则会以2018-09-19 17:47:12.000的格式返回:

SELECT
date_parse(click_time,'%Y-%m-%d %H:%i:%s') click_time
FROM
table.abc

但这不是我需要的输出。我只是想表明我已经接近,但显然缺少一些东西。当我将click_time更改为date_parse(click_time,'%Y-%m-%d')时,它会发回INVALID_FUNCTION_ARGUMENT: Invalid format: "2018-09-19 17:47:12" is malformed at " 17:47:12"

因此,显然有一些我没有正确执行的操作,只是返回了2018-09-19

1 个答案:

答案 0 :(得分:0)

date_parse将字符串转换为时间戳。根据文档,date_parse执行此操作:

date_parse(string, format) → timestamp

它使用提供的格式将字符串解析为时间戳。

因此,对于您的用例,您需要执行以下操作:

cast(date_parse(click_time,'%Y-%m-%d %H:%i:%s')) as date ) 

作为参考,您可以转到下面的链接以获取prestodb在线文档https://prestodb.github.io/docs/current/functions/datetime.html