繁体   English   中英

如何在 AWS Athena 中成功将字符串转换为日期类型?

[英]How to successfully convert string to date type in AWS Athena?

我正在尝试将字符串类型的日期列转换为日期类型。

我在 AWS Athena 中使用以下查询:

SELECT a, b, date_parse(date_start, '%m-%d-%Y') AS date_start
FROM "database"."table"

如果我添加限制 10,它可以工作。 但是当我尝试对所有记录执行此操作时,我收到此错误: INVALID_FUNCTION_ARGUMENT: Invalid format: "5/16/2020" is malformed at "/16/2020"

字符串类型列中的所有日期看起来像这样 - 2/22/2020 并且它正确地转换了它。 我不明白为什么它不会对 rest 做同样的事情。

另一个问题 - 我正在使用上面的SELECT语句测试转换 - 如果我弄清楚下一步是什么? 我可以在 AWS Athena 中执行UPDATE TABLE吗?

您的日期字符串看起来像'2-22-2020'还是'2/22/2020'

如果您有分隔符'/' ,如错误消息中所示,那么您需要调整格式说明符:

SELECT a, b, date_parse(date_start, '%m/%d/%Y') AS date_start
FROM "pg_orangeboydata"."kanopy"

您还可以同时管理这两种格式:

SELECT a, b, date_parse(replace(date_start, '/', '-'), '%m-%d-%Y') AS date_start
FROM "pg_orangeboydata"."kanopy"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM