簡體   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