【问题标题】:Getting Week Of Date (Week Beginning) in Hive在 Hive 中获取日期周(周开始)
【发布时间】:2018-07-16 20:09:32
【问题描述】:

我目前有一个获取日期并返回星期日开始日期的代码。我想要的是获得一个星期一的开始日期,而不是像 weekofyear() 函数。

下面是我当前的代码,其中 evt_time 是我的日期时间变量:

date_sub(evt_time,pmod(datediff(to_date(evt_time),'1900-01-07'),7))

例如,我希望将 2018 年 6 月 4 日至 2018 年 6 月 10 日分组为 2018 年 6 月 4 日。

【问题讨论】:

  • evt_time 是什么格式的? yyyy-MM-dd 还是别的什么?
  • @VamsiPrabhala 它的 yyyy-MM-dd hh:mm:ss (2018-02-20 23:50:35)

标签: hive week-number


【解决方案1】:

使用u 参数获取工作日,然后使用算术获取星期的开始日期为星期一。

select date_add(to_date(evt_time)
                ,1-cast(from_unixtime(unix_timestamp(to_date(evt_time),'yyyy-MM-dd'),'u') as int))

【讨论】:

    猜你喜欢
    • 2010-11-19
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多