赞
踩
current_date
current_timestamp
from_unixtime(current_timestamp(),'yyyy-MM-dd HH:mm:ss')
from_unixtime(current_timestamp(),'yyyy-MM-dd HH')
from_unixtime(current_timestamp(),'yyyyMMdd')
hive官方不推荐用了,可以用current_timestamp然后用substr()截取
substr(current_timestamp,1,10)
substr(current_timestamp,1,19)
add_months(current_timestamp, -6)
add_months(current_timestamp, 6)
add_months(current_date, -6)
add_months(current_date, 6)
add_months('2020-12-01', -6)
add_months('2020-12-01', 6)
date_add(current_date, 6)
date_sub(current_date, 6)
date_add(current_date, -6)
date_sub(current_date, -6)
datediff(start_time,end_time)
datediff 在处理date格式 会有坑,会少一天
(unix_timestamp(start_time)-unix_timestamp(end_time))/3600
select year(current_timestamp); ----返回日期中的年
select month(current_timestamp); ----返回日期中的月
select day(current_timestamp); ----返回日期中的日
select hour(current_timestamp); ----返回日期中的时
select minute(current_timestamp); ----返回日期中的分
select second(current_timestamp); ----返回日期中的秒
select weekofyear(current_timestamp); ----返回日期在当前的周数
输入的时间戳需要是整数,不能是字符串
select from_unixtime(1606989058,'yyyy-MM-dd HH:mm:ss') ; --秒级
select from_unixtime( cast(1606989066019/1000 as int),'yyyy-MM-dd HH:mm:ss') ; --毫秒级
必须是严格的‘yyyyMMdd HH:mm:ss’格式,转换后的是秒级的,不是毫秒级的
select unix_timestamp('2020-12-03 17:51:06');
pmod(datediff(current_timestamp, '1920-01-01') - 3, 7)
输出的结果为0-6的数,分别表示 日,一,二 … 六。
trunc(current_timestamp,'MM') -- 当月第一天
last_day(current_timestamp) -- 当月最后一天
trunc(current_timestamp,'YY') -- 当年第一天
last_day(add_months(trunc(current_date,'YY'),11)) -- 当年最后一天
next_day(current_timestamp, 'TU')
仅支持下面的格式,忽略大小写
中文 | 2 | 3 | 全称 |
---|---|---|---|
星期一 | MO | Mon | Monday |
星期二 | TU | Tue | Tuesday |
星期三 | WE | Wed | Wednesday |
星期四 | TH | Thu | Thursday |
星期五 | FR | Fri | Friday |
星期六 | SA | Sat | Saturday |
星期天 | SU | Sun | Sunday |
ceil(month(current_date)/3)
lpad(ceil(month(current_date)/3),2,0)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。