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

发布于 2025-01-14 16:10:45 字数 256 浏览 1 评论 0原文

我正在将 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

I am migrating the greenplum SQL query to HiveSQL, kindly help me as below statement.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最美不过初阳 2025-01-21 16:10:45

以下是等效查询 -

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 添加 7 周/49 天,第二个添加 6 天,第三个只添加当前日期的星期一。

Here are equivalent queries -

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')

All above solution are using next_day() function which picks up next MONDAY from current date -7 days. And then first scrnario adds 7week/49days, second one adds 6 days, and third one just get Monday of current date.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文