AWS Athena - 格式化和筛选日期时间



我有一个表,它提供了两种不同的日期格式:

d/m/Y & m/d/Y.所需的日期格式为 d/m/Y

我可以选择日期列,并在日期格式错误时进行检查和格式化。

这是我当前的SQL查询:

SELECT COALESCE(TRY(date_format(date_parse(tbl.date, %d/%m/%Y), %d/%m/%Y)),
TRY(date_format(date_parse(tbl.date, %m/%d/%Y), %d/%m/%Y))) as date
FROM xxx            

这修复了不匹配的日期...但是我还需要查询日期范围,例如过去 7 天。

如果我添加一个 WHERE 语句,它不会执行,因为我之前已经查询了日期。

如何根据给定范围(过去 7 天(格式化我的日期和过滤器?

在 ANSI SQL 中 - 由 Presto 实现,Athena 基于 -WHERE子句不能引用SELECT投影,所以你需要一个 aubquery:

SELECT *
FROM (
SELECT COALESCE(TRY(date_parse ....... AS date
FROM xxx
)
WHERE date > current_date - INTERVAL '7' DAY

相关内容

  • 没有找到相关文章

最新更新