所以我查看了此处的文档和以前的答案,但似乎无法弄清楚这一点。
我有一个代表日期的 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"在“17:47:12”处格式错误
所以很明显我没有正确地让它返回 2018-09-19
。
最佳答案
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
关于amazon-web-services - Athena 中 YYYY-MM-DD 日期格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52765407/