周數(shù)
在 Hive 中我們可以通過內(nèi)置函數(shù) weekofyear(string date)
獲取某日期的周數(shù)。
示例:select weekofyear("2022-02-01");
結(jié)果輸出:5
需要注意的是,weekofyear
的查找范圍并不是按年算的,而是按周算的。
例如:select weekofyear("2022-01-01");
結(jié)果輸出:52
表示的是 2021
年的第 52
周。雖然年份已經(jīng)是 2022
年,但仍然會(huì)走完一個(gè)周期(7天)才會(huì)進(jìn)入到新的一輪。這就是跨年周,使用該函數(shù)時(shí)需要考慮到這個(gè)。
周幾
計(jì)算星期幾我們也可以通過內(nèi)置函數(shù) pmod
取余數(shù) 與 datediff
日期相減函數(shù) 實(shí)現(xiàn)。
計(jì)算思路:通過當(dāng)前需要求周幾的日期 減去 日期1970-01-01
, 然后再減去 3,最后除以 7,余數(shù)就是周幾(0~6),0 代表周日。
示例:求日期 2022.11.18
日為星期幾?
select pmod(datediff("2022-11-18","1970-01-01") - 3,7);
結(jié)果輸出:5
文章來源:http://www.zghlxwxcb.cn/news/detail-510572.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-510572.html
到了這里,關(guān)于Hive 根據(jù)日期計(jì)算周數(shù)以及周幾的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!