【问题标题】:How to turn date format to YYYYMMDD format in Hive QL如何在 Hive QL 中将日期格式转换为 YYYYMMDD 格式
【发布时间】:2021-01-16 16:19:25
【问题描述】:

在 PostgreSQL 中我可以使用:

to_char(current_date - 14, 'YYYYMMDD') 

但是,这不是 Hive 中可接受的语法,我找不到适合这种日期格式的函数。

有人可以帮忙吗?

【问题讨论】:

    标签: sql string datetime hive hiveql


    【解决方案1】:

    对于 Hive 版本 >= 1.2.0,您可以使用 date_format 函数。还可以使用date_sub 功能:

    date_format(date_sub(current_date,14),'yyyyMMdd')
    

    【讨论】:

      【解决方案2】:

      在 Hive 中,您通常会使用中间转换为 unix 时间戳:

      from_unixtime(unix_timestamp() - 14 * 24 * 60 * 60, 'yyyyMMdd')
      

      unix_timestamp() 返回当前日期/时间作为纪元时间戳;然后可以减去 14 天(以秒表示),然后使用 from_unixtime() 将结果格式化为目标格式的字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-03
        • 1970-01-01
        • 2018-04-28
        • 2019-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-04
        相关资源
        最近更新 更多