将配置单元时间戳函数转换为 Redshift 语法

Converting hive Timestamp functions to Redshift syntax

我需要将用 hive-SQL 编写的脚本转换为 Redshift 的 SQL。
我被下面的部分困住了:

select date_format(date_add(date_sub(current_date,cast(from_unixtime(unix_timestamp(current_date, 'yyyy-MM-dd'),'u') as int)),7), 'dd MMM')

由于没有使用 hive-sql 的时间戳函数的经验,我无法在 redshift 中重写这一行。
`current_date` 实际上是一个时间戳列,在其上完成了一些计算。
请提供一些insight/suggestion。这真的很有帮助。

你的 Hive 查询 returns 下周日,如果我没记错的话,如果是周日,则为当前日期。您可以使用 date_part 来检查星期几,并使用 next_day 来获取下一个星期日。像这样的东西(未经测试,没有 Redshift):

to_char(case when date_part(dow,current_date) = 0 then current_date 
              else next_day(current_date ,'Sunday')
         end, 'DD MON')