Hive中是否有任何日期功能可以选择每月的星期?
假设星期是从星期日到星期六,而星期日是星期的开始日,而星期六是星期的结束日。
我有一个日期列表,范围从1900-01-01到2029-12-31。
我想知道Hive中是否有日期函数来获取一天中的星期几。
例如:
2019-02-01 to 2019-02-02 is the first week of FEB
2019-02-03 to 2019-02-09 is the second week of FEB..
2019-02-24 to 2019-02-28 is the 5th week of FEB
这是我的查询:
select (weekofyear(date)-weekofyear(trunc(date,'month')) + 1 as Week_of_month
但是,会发生一些错误。在年初,月份中的星期为负数。例如1993-01-03是-51
答案 0 :(得分:0)
使用date_format(date/timestamp/string ts, string fmt)
function。 W
格式模式表示一个月中的第几周。
select date_format('2019-02-01','W');
OK
1
Time taken: 0.076 seconds, Fetched: 1 row(s)
hive> select date_format('1993-01-03','W');
OK
2
Time taken: 0.054 seconds, Fetched: 1 row(s)