hive之日期函数三

491 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情

本文是继续接着上一篇的日期函数系列的第三篇啦,下面介绍几种虽然在平时的sql开发中不太常用,但是你必须要会的几种函数,照例序号还是接着上一篇的。

6、weekofyear 指定年第几周 作用:返回日期所在年的周数

常见使用方法:weekofyear(string date)

具体功能描述:该函数的作用就是可以返回指定时间在该年份里的第几周,返回结果类型就是int ,常常在按周统计数据汇总的时候用到该函数。

与此函数有相类似作用的还有dayofmonth,看这个名字就知道这是返回日期所在月的天数,即该日期是在当月的第几天,返回类型也是int。下面看几个具体的例子:

select weekofyear( '2020-05-21 02:40:00' ); 
>>  21     
select dayofmonth( '2021-02-28' ) ;
>>  28     
select current_date ;
>>  2022 - 03 - 02

7、datediff 日期比较函数 作用:计算两个日期之间相差的天数

常见使用方法:datediff(string enddate, string startdate)

具体功能描述:通过对两个日期的相减,获得之间相差的天数,两个参数没有在前在后是被减或减的意思,默认就是用结束时间,也就是较大的那个时间减去开始时间得到的天数,该函数的返回类型也是int 。

select datediff( '2020-05-20' ,  '2020-05-10' ); 
>>  10

8、date_add 日期增加函数 作用:在某日期上增加天数

常见使用方法:date_add(string startdate, int days)

具体功能描述:这个可以对日期加上指定的天数,得到一个新日期,所以返回类型还是string ,参数说明:days就是增加的天数,故是int类型,startdate是原日期,注意这里没有时分秒。

select date_add( '2020-05-21' ,  12 );
>>  2020 - 0 - 02

9、date_sub 日期减少函数 作用:在某日期上减少天数

常见使用方法:date_sub(string startdate, int days)

具体功能描述:和上面那个函数正好相反,这个是对日期减去指定的天数,得到新的日期,自然返回类型也是string ,注意入参,具体看下面的例子。

select date_sub( '2020-05-21' ,  10 ); 
>>  2020 - 05 - 11

\