蜂巢中的任何日期函数都可以选择一个月中的星期几?

时间:2019-04-16 15:11:30

标签: hive hiveql

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

1 个答案:

答案 0 :(得分:0)

使用date_format(date/timestamp/string ts, string fmt) functionW格式模式表示一个月中的第几周。

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)

Other useful date and time format patterns