Hive 两个指定日期差值计算操作函数 datediff 详解 | 您所在的位置:网站首页 › hivesql日期格式转换 › Hive 两个指定日期差值计算操作函数 datediff 详解 |
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 实验室设备网 版权所有 |