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')
话虽如此,您应该修复数据模型。将日期存储为 dates 而不是 strings!然后你可以使用相等连接,这样就更好了。
我想加入 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')
话虽如此,您应该修复数据模型。将日期存储为 dates 而不是 strings!然后你可以使用相等连接,这样就更好了。