因此,我在这里浏览了文档和以前的答案,但似乎无法弄清楚。
我有一个表示日期的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
。
答案 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