HiveSql的时间函数

获取当前时间:

1).current_timestamp   ------------------ 2019-08-10 00:12:26.606

2).unix_timestamp()  -------------------1565367202

3).from_unixtime(unix_timestamp())------------2019-08-10 00:14:10

4).CURRENT_DATE------------------ 2019-08-10

获取年、月、日、小时、分钟、秒、当年第几周

year('2018-02-27 10:00:00') ---------------- 2018

month('2018-02-27 10:00:00')-------------------2

day('2018-02-27 10:00:00') ----------------------27

hour('2018-02-27 10:00:00')----------------------10

minute('2018-02-27 10:00:00')-------------------0

second('2018-02-27 10:00:00')-------------------0

weekofyear('2018-02-27 10:00:00') -------------------9

DATEDIFF( string date1, string date2 ) ----返回两个时间字符串的相差的天数(date1-date2)yyyy-mm-dd xxxxx

add_months            --月数增加或者减少 如TRUNC(add_months(CURRENT_DATE,-1),'MM') 上月第一天

DATE_ADD( string date, int days )----返回给定时间字符串后几天的时间串

DATE_SUB( string date, int days )----返回给定时间字符串前几天的时间串

TO_DATE( string timestamp )----将给定的时间字符串转为'yyyy-MM-dd'的格式 timestamp格式为'2019-04-09 11:18:05'

FROM_UNIXTIME( bigint number_of_seconds [, string format] )----将unix时间戳转为系统当前时区的时间格式,时间格式默认为'yyyy-MM-dd HH:mm:ss',可自定义

UNIX_TIMESTAMP( string date, string pattern )----将date时间格式转为unix时间戳 

SELECT UNIX_TIMESTAMP()----------#1554779970 默认返回系统当前时间点的时间戳

SELECT UNIX_TIMESTAMP('2019-04-09 11:18:05')-----------#1554779885

SELECT UNIX_TIMESTAMP ('2019-04-09', 'yyyy-MM-dd')----------#1554739200

last_day(string date)--------获取date的最后一天(月末)

trunc(string date,'MM')--------获取date的月的第一天

trunc(string date,'YY')--------获取date的年的第一天

next_day返回当前时间的下一个星期几所对应的日期-----next_day('2018-02-27 10:03:01', 'TU')    2018-03-06


 

你可能感兴趣的:(Hive)