Hive dateadd函数常见用法详解

作者:技术拾光时间:2026-07-07 08:57:01浏览:310

在Hive中处理日期计算时,dateadd函数是常用的工具之一,其作用是在给定日期或时间上按指定单位加上一定数量,返回新的时间点。下面通过几个典型场景说明该函数的具体用法。 基本用法:给日期加天数 例如,查询2022年1月1日过10天后的日期: SELECT dateadd(day, 10, '20

在Hive中处理日期计算时,dateadd函数是常用的工具之一,其作用是在给定日期或时间上按指定单位加上一定数量,返回新的时间点。下面通过几个典型场景说明该函数的具体用法。

Hive dateadd函数常见用法详解

基本用法:给日期加天数

例如,查询2022年1月1日过10天后的日期:

SELECT dateadd(day, 10, '2022-01-01');

执行结果返回2022-01-11,即直接在日期上加10天。

加月份操作

若需要加2个月:

SELECT dateadd(month, 2, '2022-01-01');

结果为2022-03-01。注意,月份按整月累加,不会因2月天数少而调整到2月28日,因此从1月1日加2个月直接变为3月1日。

加年份操作

加1年:

SELECT dateadd(year, 1, '2022-01-01');

返回2023-01-01,刚好一年。

时间部分运算

dateadd也支持对时间部分进行计算。例如,给一个时间戳加8小时:

SELECT dateadd(hour, 8, '2022-01-01 00:00:00');

结果变为2022-01-01 08:00:00,小时数直接累加。

加分钟同理:

SELECT dateadd(minute, 30, '2022-01-01 00:00:00');

得到2022-01-01 00:30:00。

加秒数:

SELECT dateadd(second, 60, '2022-01-01 00:00:00');

返回2022-01-01 00:01:00——60秒正好是1分钟,时间自动进位。

语法总结

dateadd函数语法规整:第一个参数指定单位(day、month、year、hour、minute、second等),第二个参数是增减数量(正数为加,负数为减),第三个参数为起始日期或时间。使用时注意单位与数据格式匹配(例如与时间戳搭配时秒数不会溢出到小时以上),即可灵活完成各种日期偏移计算。