Hive 两个指定日期差值计算操作函数 datediff 详解 您所在的位置:网站首页 hivesql日期格式转换 Hive 两个指定日期差值计算操作函数 datediff 详解

Hive 两个指定日期差值计算操作函数 datediff 详解

2023-09-24 23:48| 来源: 网络整理| 查看: 265

Hive 的内置函数 datediff 日期操作函数是对两个日期进行相减差值,计算两个时间的差值,并转换成指定的单位,如:天、小时、分等时间支持的单位。

1语法说明1.1语法1.2说明2常用例子2.1计算日期对应的星期数 语法说明 语法 DATEDIFF(enddate, startdate) 说明

函数参数说明如下:

enddate:被减的日期内容,一般是更大的那个日期数据,若输入为 string 类型会隐式转换为 datetime 类型后参与运算,其它类型抛异常。 startdate:对比的日期内容,一般是更小的那个日期数据,若输入为 string 类型会隐式转换为 datetime 类型后参与运算,其它类型抛异常。

参数日期的格式需要是 'yyyy-MM-dd' 或 'yyyy-MM-dd HH:mm:ss',其中时间的信息计算时会忽略。

返回值说明如下:

返回值:返回时间差值,即结束日期减去开始日期的天数,int 类型。

如果结束日期比起始日期小,则返回负数。

示例如下:

DATEDIFF('2021-10-28', '2021-10-26') = 2

若 start = '2020-12-31 23:59:59',end = '2021-01-01 00:00:00':

DATEDIFF(end, start) = 1

除了上面的日期格式,它实际上还支持 2022-9-3 这种格式。如下例子:

hive> SELECT DATEDIFF('2022-10-15', '2022-9-3') 42

如果我的日期是 2022/10/15 这样的,该这么办?这时候可以用 hive 的 REGEXP_REPLACE 这个内置函数。示例如下:

hive> SELECT DATEDIFF(REGEXP_REPLACE('2022/10/15', "/", "-"), REGEXP_REPLACE('2022/9/3', "/", "-")) 42 常用例子 计算日期对应的星期数

利用 pmod 和 datediff 函数进行操作,示例如下:

pmod(datediff(dp, '2012-01-01'), 7)

返回值为 “0-6”(“0-6” 分别表示“星期日-星期六”)。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有