![](/img/trans.png)
[英]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.