hivesql:
日期转换:2020-09-08 转换为20200908
select from_unixtime(unix_timestamp(date_sub(current_date,30),‘yyyy-MM-dd’),‘yyyyMMdd’)
select from_unixtime(1564581347,‘yyyy-MM-dd HH:mm:ss’) ;
OK
2019-07-31 21:55:47
Time taken: 0.168 seconds, Fetched: 1 row(s)
hive> select from_unixtime( cast(1564581347793/1000 as int),‘yyyy-MM-dd HH:mm:ss’) ; --13位的需要这样处理
2019-07-31 21:55:47
日期前推两个月:select add_months(CURRENT_DATE,-2)
日期前推两个月取当月第一天:select trunc(add_months(CURRENT_DATE,-2),‘MM’)
日期前推两个月取当年第一天:select trunc(add_months(CURRENT_DATE,-2),‘YY’)
获取当前年份的第一天:select trunc(current_date,‘YY’)
hivesql求时间差(分钟数)方法有两种:
一、 (hour(lesson_end_time)-hour(lesson_start_time))60+(minute(lesson_end_time)-minute(lesson_start_time))
二、(unix_timestamp(lesson_end_time)-unix_timestamp(lesson_start_time))/60
注:方法一是同一天内的时间差,如果不在同一天需要加入day24*60