Hive:日期函数

函数名称:date_add

用途:日期加减计算

格式:datetime date_add(datetime,bigint)

参数说明:select date_add('2017-09-15',1); 2017-09-16

函数名称:datediff

用途:计算两个日期差值

格式:bigint datediff(datetime,datetime)

参数说明:select datediff('2017-09-15','2017-09-01')

函数名称:from_unixtime

用途:将数字型的unix时间日期值unixtime转为日期值

格式:datetime from_unixtime(bigint)

参数说明:--时间戳转日期 select from_unixtime(1505456567);  select from_unixtime(1505456567,'yyyyMMdd');  select from_unixtime(1505456567,'yyyy-MM-dd HH:mm:ss');  select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss'); --获取系统当前时间

函数名称:last_day

用途:取date当月的最后一天,截取到天,时分秒部分为00:00:00。参数格式为'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd'.

格式:datetime last_day(string)

函数名称:to_date

用途:将一个字符串date按照"yyyy-MM-dd"格式转成日期值

格式:datetime to_date(string)

参数说明:select to_date("1970-01-01 00:00:00") ; "1970-01-01"

函数名称:unix_timestamp

用途:将日期date转化为整型的unix格式的日期时间值

接口格式:bigint unix_timestamp(datetime)

参数说明:select unix_timestamp(); --获得当前时区的UNIX时间戳 select unix_timestamp('2017-09-15 14:23:00');  select unix_timestamp('2017-09-15 14:23:00','yyyy-MM-dd HH:mm:ss'); select unix_timestamp('20170915 14:23:00','yyyyMMdd HH:mm:ss')

函数名称:weekofyear

用途:返回日期date位于那一年的第几周

格式:bigint weekofyear(datetime)

参数说明:select weekofyear("2019-01-01")

函数名称:sys_date_add

用途:封装日期操作函数,用户可以直接在脚本中写下面的时间函数,调度在执行前替换成具体的值,仅支持V_DATE变量

接口格式:string sys_date_add(string,string,int) string sys_date_add(string,string,int,string)

参数说明:V_DATE:2018-06-10 00:05:05 sys_date_add(${V_DATE},YEAR,1) --20190610(默认格式) sys_date_add(${V_DATE},MONTH,-1,yyyy_MM_dd_hh_mm_ss) --2018_05_09_00_00_00 ,自定义输出格式 sys_date_add(${V_DATE},DAY,-1,yyyy_MM_dd_hh_mm_ss) sys_date_add(${V_DATE},HOUR,-1,yyyy_MM_dd_hh_mm_ss) sys_date_add(${V_DATE},MINUTE,-1,yyyy_MM_dd_hh_mm_ss) sys_date_add(${V_DATE},SECOND,-1,yyyy_MM_dd_hh_mm_ss) select * from a where date='sys_date_add(${V_DATE},SECOND,-1,"yyyy-MM-dd hh:mm:ss")'

函数名称:current_date

用途:获取当前日期

接口格式:string current_date()

参数说明:select current_date; 2017-09-15

函数名称:date_sub

用途:日期减计算

接口格式:datetime date_sub(datetime,bigint)

参数说明:select date_sub('2017-09-15',1); 2017-09-14

函数名称:trunc

用途:该日期将由指定的元素格式所截去。忽略它则由最近的日期截去

格式:string trunc(string,string)

参数说明:TRUNC函数为指定元素而截去的日期值。 其具体的语法格式如下: TRUNC(date[,fmt]) 其中:date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 如果当日日期是:2011-3-18 1.select trunc('2011-3-18') from dual --2011-3-18 今天的日期为2011-3-18 2.select trunc('2011-3-18', 'mm') from dual --2011-3-1 返回当月第一天. 3.select trunc('2011-3-18','yy') from dual --2011-1-1 返回当年第一天 4.select trunc('2011-3-18','dd') from dual --2011-3-18 返回当前年月日 5.select trunc('2011-3-18','yyyy') from dual --2011-1-1 返回当年第一天 6.select trunc('2011-3-18','d') from dual --2011-3-13 (星期天)返回当前星期的第一天 7.select trunc('2011-3-18', 'hh') from dual --2011-3-18 14:00:00 当前时间为14:41 8.select trunc('2011-3-18', 'mi') from dual --2011-3-18 14:41:00 TRUNC()函数没有秒的精确

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值