美文网首页
[转]hive根据日期获取星期几的方法

[转]hive根据日期获取星期几的方法

作者: 我念东风终不负 | 来源:发表于2018-03-01 14:42 被阅读92次

    原文链接
    hive原生未提供获取一个日期是星期几的方法,所以只有我们自己编写udf函数提供,udf就不说了,在这里给出了一个使用hive原生函数获取星期几的技巧。

    pmod(datediff(#date#, '1920-01-01') - 3, 7)

    date#表示给的日期。

    输出的结果为0-6的数,分别表示 日,一,二 ... 六。

    2016-01-01 5
    2016-01-02 6
    2016-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 5
    2016-01-02 6
    2016-01-03 7

    相关文章

      网友评论

          本文标题:[转]hive根据日期获取星期几的方法

          本文链接:https://www.haomeiwen.com/subject/ufigxftx.html