[英]AWS Athena (Presto) - how to format Timestamp to Date Format?
[英]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.