Hive 日期处理函数汇总

Hive 日期处理函数汇总

最近项目处理日期操作比较繁杂,使用Hive的日期函数也较频繁

1. 加减日期

  1. date_add(‘日期字符串’,int值) :把一个字符串日期格式加n天,n为int值

    select date_add(‘2023-12-31’,7);

    结果:

    2024-01-07

  2. date_sub(‘日期字符串’,int值) :把一个字符串日期格式减n天,n为int值

    select date_sub(‘2024-01-2’,7);

    结果:

    2023-12-26

2. 时间戳/格式化日期字符串互相转换,格式化日期

  1. from_unixtime(时间戳,‘pattern’) : 从 时间戳格式化日期字符串.'pattern’是日期格式化模式字符串

    hive> select from_unixtime(1704788052,‘yyyy-MM-dd HH:dd:ss’);

    结果:

    2024-01-09 16:09:12

  2. unix_timestamp(‘日期字符串’,‘pattern’) :从格式化日期字符串时间戳 .

    select unix_timestamp(‘2023/11/22’,‘yyyy/MM/dd’);

    结果:

    1700582400

  3. date_format(‘日期字符串’,‘pattern’) : 把一个字符串日期格式化为指定的格式,日期字符串必须满足yyyy-MM-dd格式

    hive> select date_format(‘2023-11-22’,‘yyyy-MM-dd HH:mm:ss’);

    结果:

    2023-11-22 00:00:00

3. 获取当前时间

  1. current_date() : 获取当前的日期的字符串

    hive>select current_date();

    结果:

    2024-01-09

  2. current_timestamp() : 获取当前时间字符串,格式为 ‘yyyy-MM-dd HH:mm:ss.SS’

    hive> select current_date();

    结果:

    2024-01-09 16:12:03.339

  3. unix_timestamp(): 获取当前时间戳

    注:unix_timestamp(void) is deprecated. Use current_timestamp instead.

    hive> select unix_timestamp();

    结果:

    1704788052

10.实战

给定一个表的一列dt_plantdate,该列为’yyyy-MM-dd HH:mm:ss’格式的日期字符串,将该列减14天,结果仍需要保证

'yyyy-MM-dd HH:mm:ss’格式

由于date_sub处理粒度只到yyyy-MM-dd,所以我们不使用date_sub()相减,

而是先统一转为时间戳后相减,处理完再转为字符串

SELECT
    from_unixtime(
        unix_timestamp('2024-01-09 16:12:03', 'yyyy-MM-dd HH:mm:ss') - 14 * 24 * 60 * 60,
        'yyyy-MM-dd HH:mm:ss'
    ) AS modified_date
FROM
    your_table;

from_unixtime 里,我们直接时间戳数值相减后再转为标准格式字符串

相关推荐

  1. Hive 日期处理函数汇总

    2024-01-10 07:42:02       50 阅读
  2. Hive常用函数_16个时间日期处理

    2024-01-10 07:42:02       45 阅读
  3. Hive日期函数

    2024-01-10 07:42:02       41 阅读
  4. Hive日期函数详细讲解

    2024-01-10 07:42:02       46 阅读
  5. Hive常用函数 之 数值处理

    2024-01-10 07:42:02       42 阅读
  6. Hive日期函数应用之月份差值计算

    2024-01-10 07:42:02       56 阅读
  7. Python常用日期函数日期处理方法

    2024-01-10 07:42:02       53 阅读
  8. Hive的时间处理函数from_unixtime和unix_timestamp

    2024-01-10 07:42:02       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-10 07:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-10 07:42:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-10 07:42:02       82 阅读
  4. Python语言-面向对象

    2024-01-10 07:42:02       91 阅读

热门阅读

  1. 云原生周刊:K8sGPT 加入 CNCF | 2024.1.8

    2024-01-10 07:42:02       57 阅读
  2. K8S学习指南(71)-Operator的打包和部署

    2024-01-10 07:42:02       52 阅读
  3. 记CMS FGC 的一次调优

    2024-01-10 07:42:02       45 阅读
  4. Python学习之路-注释

    2024-01-10 07:42:02       68 阅读
  5. vue笔记之$attr

    2024-01-10 07:42:02       64 阅读
  6. udp简介4.0

    2024-01-10 07:42:02       59 阅读
  7. zookeeper源码(05)数据存储

    2024-01-10 07:42:02       44 阅读
  8. 小程序适配IOS底部小黑条

    2024-01-10 07:42:02       47 阅读