hive 函数

一、日期函数

 1 date_add 指定日期n天之后,用法:date_add(date('2018-09-09'),10) 参数类型分别为date和int,返回date类型
 2 add_months 指定日期n月之后,用法:add_months(date('2018-09-09'),2) 参数类型分别为date和int类型,返回date类型
 3 datediff 计算两个日期相差天数,用法:datediff(date('2018-09-19'),date('2018-09-09'))参数类型都为date类型,返回值int
 4 dayofmonth 返回日期中的日,用法:dayofmonth(date('2018-09-09'))参数类型为date类型,返回值int
 5 weekofyear 返回日期在一年中的周数,用法:weekofyear(date('2018-09-09'))参数类型为date类型,返回值int
 6 to_date 返回时间戳中的日期部分,用法:to_date(cast('2018-09-09 12:00:00' as timestamp))或to_date(date('2018-09-09'))参数类型为timestamp时间戳或date类型,返回值为string,
 7 unix_timestamp 将日期转为unix时间戳,用法:unix_timestamp(datedate('2018-09-19'))参数类型为date类型,返回值bigint
 8 year 返回日期或时间戳的年份,用法:year(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
 9 quarter 返回日期或时间戳的季度,用法:quarter(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
10 month 返回日期或时间戳的月份,用法:month(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
11 day 返回日期或时间戳的天,用法:day(date('2018-09-19'))参数类型为date类型或timestamp类型,返回值int类型
12 hour 返回时间戳中的小时,用法:hour(timestamp('2009-07-30 12:58:59'))参数类型为时间戳类型,返回值int类型
13 minute 返回时间戳中的分钟,用法:minute(timestamp('2009-07-30 12:58:59'))参数类型为时间戳类型,返回值int类型
14 second 返回时间戳中的秒数,用法:second(timestamp('2009-07-30 12:58:59'))参数类型为时间戳类型,返回值int类型
15 date_sub 返回指定日期n天之前日期,用法:date_sub(date('2018-09-09'),5) 参数类型分别为date和int,返回date类型
16 current_date、current_timestamp 返回当前日期、当前时间戳,用法:select current_date,current_timestamp 返回当前日期、当前时间戳作为字段
 1 select date_add(date('2018-09-09'),10) -- 返回:2018-09-19
 2 select add_months(date('2018-09-09'),2)  -- 返回:2018-11-09
 3 select datediff(date('2018-09-19'),date('2018-09-09')) -- 返回:10
 4 select dayofmonth(date('2018-09-09'))  -- 返回:9
 5 select weekofyear(date('2018-09-09')) -- 返回:36
 6 select to_date(cast('2018-09-09 12:00:00' as timestamp))
 7 select to_date(date('2018-09-09')) -- 返回 :2018-09-09
 8 select unix_timestamp(date('2018-09-19')) -- 返回:1537286400
 9 select year(date('2018-09-19')) --返回:2018
10 select quarter(date('2018-09-19')) --返回:3
11 select month(date('2018-09-19')) --返回:09
12 select day(date('2018-09-19')) --返回:19
13 select hour(timestamp('2009-07-30 12:58:59')) --返回:12
14 select minute(timestamp('2009-07-30 12:58:59')) --返回:58
15 select second(timestamp('2009-07-30 12:58:59')) --返回:59
16 select date_sub(date('2018-09-09'),5) -- 返回:2018-09-04
17 select current_date,current_timestamp--返回:2018-10-092018-10-09 17:14:25.868

https://mp.weixin.qq.com/s/pWf3XLtK5cxcGORaMHieJw

原文地址:https://www.cnblogs.com/cgmcoding/p/13441311.html