SQL 查询转换为 Hive 支持的迁移 SQL

SQL query conversion to Hive supported migration SQL

我正在将 greenplum SQL 查询迁移到 HiveSQL,请按照以下说明帮助我。

select (date_trunc('week',current_date) - INTERVAL '7 week')::DATE 
select (date_trunc('week',current_date)+ '6 days'::INTERVAL)::DATE
select date_trunc('week',current_date)::DATE

以下是等效的查询 -

select (date_trunc('week',current_date) - INTERVAL '7 week')::DATE --> select date_sub(next_day(date_sub(current_date, 7), 'MON'), 49)
select (date_trunc('week',current_date)+ '6 days'::INTERVAL)::DATE --> select date_add(next_day(date_sub(current_date, 7), 'MON'), 6)
select date_trunc('week',current_date)::DATE --> select next_day(date_sub(current_date, 7), 'MON')

以上所有解决方案都使用 next_day() 函数,该函数从当前日期 -7 天开始提取下周一。然后第一个 scrnario 添加 7week/49days,第二个添加 6 天,第三个只获取当前日期的星期一。