HIVE-如何自动确定周一是哪一天

在Hive中,为了确定每周的周一日期,可以利用get_date(), pmod(), cast(), datediff()等函数组合计算。例如,通过计算昨天与特定日期的天数差并求余数,可以得知昨天是星期几,进而获取上周一的日期。这种方法在自动化报表,如日报生成中十分有用。" 110150822,7398160,使用AudioToolBox播放wav:从文件到采样数据,"['iOS开发', '音频处理', 'AVFoundation', 'AudioToolBox']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文首发于数据蚂蚁公众号,原创文章,请勿转载

场景:每天需要发送日报,其中日报中需要对比这周一到昨天(例如:周三)和上周一到上周三的数据,如何让代码每天自动调整获取想要时间段的数据?
问题:怎么知道能字段判定这一周和上一周的的星期一是哪一天

在遇到这个需求时,首先想到了SQL SERVER和MySQL里的datename函数,但写了发现HIVE里不能用,搜索才发现 Hive原生未提供获取一个日期是星期几的方法,不过也也找到了通过hive原生函数来获取星期几的方法。

select column
from Table
left join 
where  date between get_date(pmod(cast(datediff(get_date(-1),'2017-02-26') as int),7)-7) and get_date(-1)

union all 

select column
from Table
left join 
where  date between get_date(pmod(cast(datediff(get_date(-1),'2017-02-26') as int),7)-14) and get_date(-8)



get_date(pmod(cast(datediff(get_date(-1),'2017-02-26') as int),7)-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值