繁体   English   中英

AWS Athena - 如何更改日期字符串的格式

[英]AWS Athena - How to change format of date string

我想加入 AWS Athena 的数据库中有两个表。

我想通过几列加入他们,其中之一是日期。

然而,在一个数据集中,日期字符串被编码为单值月份被编码为

 "08/31/2018"

而另一个将其编码为

 "8/31/2018"

有没有办法使它们具有相同的格式?

我不确定将额外的 0 添加到缺少额外 0 的字符串或连接具有额外 0 的字符串是否更容易。

根据我的研究,我认为我将不得不使用 CASE 和 CONCAT 函数。

这两个表都从一个 CSV 文件加载到数据库中,并且变量采用字符串格式。

我尝试在 CSV 文件中手动更改值,尝试在其中一个表上运行 R 脚本以相同的方式格式化日期,并且还尝试将表重新加载到数据库中作为相同的日期格式。

但是,无论何时将其加载到数据库中时我做什么,即使它们具有相同的日期类型,它也总是以不同的格式加载它们。

一个带有额外的 0,另一个没有它。

我还没有尝试过的最后一条途径是通过 SQL 查询。

但是,我对 Athena 并不精通,并且很难格式化此查询。

我知道这是相当模糊的,所以如果您需要,请向我询问更多信息。

如果有人能帮我开始这个查询,我将不胜感激。

感谢您的帮助。

这是在 Athena 中更改日期的查询。

  date_parse(table.date_variable,'%m/%d/%Y')

尽管 Athena 表在创建后是不可变的。

您可以使用date_parse()将值转换为日期。 所以,这应该有效:

date_parse(t1.datecol, '%m/%d/%Y') = str_to_date(t2.datecol, '%m/%d/%Y')

话虽如此,您应该修复数据模型。 日期存储为日期而不是字符串 然后您可以使用相等连接,这在各方面都更好。

暂无
暂无

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

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