【问题标题】:How to get date difference in days using hive如何使用蜂巢获取日期差异
【发布时间】:2021-11-03 10:24:00
【问题描述】:
SELECT USR_LOGINNAME,USR_EMAIL FROM USERS
  WHERE STATUS= 1    AND   
  TIMESTAMPDIFF(DAY,MODIFIED_DATE,CURRENT_TIMESTAMP)=1;

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: sql date hive timestamp


【解决方案1】:

使用datediff(enddate, startdate)函数:

datediff(current_date, date(MODIFIED_DATE)) = 1

如果 enddate 小于 startdate,则结果为负。

【讨论】:

    【解决方案2】:

    如果你想要昨天的数据,我建议:

    WHERE STATUS = 1 AND   
          MODIFIED_DATE < CURRENT_DATE AND
          MODIFIED_DATE >= DATE_ADD(CURRENT_DATE, -1)
    

    这允许 Hive 使用 MODIFIED_DATE 进行优化,例如分区修剪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      相关资源
      最近更新 更多