Hive使用pmod函数实现dayofweek函数功能

it2026-03-18  9

dayofweek在hive2.2.0开始支持,低版本的hive原生未提供dayofweek函数(获取一个日期是星期几的方法),所以只有我们自己编写udf函数提供,udf就不说了,在这里给出了一个使用hive原生函数获取星期几的技巧。pmod(datediff('${date}', '1920-01-01') - 3, 7) '${date}'表示给的日期。输出的结果为0-6的数,分别表示 日,一,二 ... 六。2016-01-01 52016-01-02 62016-01-03 0如果想让周一到周六对应数字1-7只需要将查询出来的数据进行判断就行了,如下:IF(pmod(datediff('${date}', '1920-01-01') - 3, 7)='0', 7, pmod(datediff('${date}', '1920-01-01') - 3, 7))2016-01-01 52016-01-02 62016-01-03 7

转载于:https://www.cnblogs.com/shujuxiong/p/10001197.html

最新回复(0)