amazon-web-services - Athena 中 YYYY-MM-DD 日期格式的字符串

标签 amazon-web-services 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"在“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/

相关文章:

hive - AWS 雅典娜 : HIVE_BAD_DATA ERROR: Field type DOUBLE in parquet is incompatible with type defined in table schema

sql - AWS Athena - 查询特定时间段

sql - 如何切割长度未知的字符串的左侧部分? (带sql函数)

apache-spark - presto 是否需要 Hive Metastore 才能从 S3 读取 Parquet 文件?

amazon-ec2 - 亚马逊 EC2 作为网络服务器?

linux - 在运行 Linux 的 EC2 上启动时启动 http、mysql、ftp 和 cronjobs?

amazon-web-services - AWS Athena 使用 BOTO3 截断表

linux - 如何解决 SyntaxError : unexpected character after line continuation character in prestodb on linux?

node.js - AWS S3 putObject 回调未触发

amazon-web-services - SSL 证书问题,存储桶名称包含点 ('.'),同时尝试使用虚拟托管 url 而不是 AWS S3 存储桶的路径样式