【问题标题】:Hive equivalent of Teradata statementHive 相当于 Teradata 语句
【发布时间】:2017-05-12 10:07:55
【问题描述】:

我正在尝试将 Teradata 查询转换为 Hive

WHERE visit_date BETWEEN (CURRENT_DATE-194) AND  (CURRENT_DATE)

其中visit_date 是格式为 yyyy-mm-dd 的字符串。

CURRENT_DATE 在 Hive 中有效,但 CURRENT_DATE-194 给出错误。

如何在 Hive 中做到这一点?

【问题讨论】:

  • 使用unix_timestamp()比较日期

标签: sql hive


【解决方案1】:

Hive中获取过去194天的数据;
试试下面的查询:

select * from table_1 where visit_date > date_sub(from_unixtime(unix_timestamp()), 194);

注意:TIMESTAMP 是毫秒
unix_timestamp 以秒为单位

【讨论】:

    【解决方案2】:

    通过使用得到解决方案

    visit_date BETWEEN date_sub(CURRENT_DATE,194) AND CURRENT_DATE
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-26
    • 2018-09-28
    • 2013-01-29
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 2015-04-27
    • 2019-09-06
    相关资源
    最近更新 更多