select current_date();
select current_timestamp();
select unix_timestamp();
select from_unixtime(1517725479,‘yyyy-MM-dd HH:dd:ss’);
select to_nuix_timestamp(‘2020-11-11 12:12:12’,‘yyyy-MM-dd HH:dd:ss’);
select from_unixtime(unix_timestamp(),‘yyyy-MM-dd HH:dd:ss’);
hive中日期加/减函数:date_add(start_date,num_days)/date_sub(start_date,num_days)
select date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),-1);
select date_sub(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),1);
select date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),1);
select date_sub(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),-1);
select next_day(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),'MO');
select last_day(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’));
datediff(date1,date2):date1大于date2,返回值为正,否则,返回值为负。
select datediff(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),-10));
select datediff(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),10));
返回日期:
select to_date(‘2020-12-08 12:12:12’); --2020-11-11
返回年份:
select year('2020-12-08 10:03:01');--2020
select year('2020-12-08');--2020
返回月份:
select month('2020-12-08 10:03:01');--12
select month('2020-12-08');--12
返回几号:
select day('2020-12-08 10:03:01');--8
select day('2020-12-08');--8
返回小时:
select hour('2020-12-08 10:03:01');--10
返回分钟:
select minute('2020-12-08 10:03:01');--3
返回秒:
select second('2020-12-08 10:03:01');--1
返回当前日期是该年的第几周:
select weekofyear('2020-12-08 10:03:01')--50
返回星期几:pmod(datediff('#date#', 'XXXX年任意一个星期日的日期'), 7) 。
pmod(datediff('#date#', '2021-04-25'), 7) 返回值:int
说明:1、返回值为“0-6”(“0-6”分别表示“星期日-星期六”);
2、需要注意pmod和 datediff 函数的使用方法.
3、如果想让周一到周六对应数字1-7:
1)将查询出来的数据进行条件判断,如下:
IF(pmod(datediff('2021-05-09', '2021-04-25'), 7)='0', 7, pmod(datediff('2021-05-09', '2021-04-25'), 7))
2)8-pmod(datediff(next_day('yyyy-MM-dd','MO'), 'XXXX年任意一个星期日的日期'), 7)
示例:select pmod(datediff('2021-05-09', '2021-04-25'), 7),8-pmod(datediff(next_day('2021-05-09','MO'), '2021-04-25'), 7); => 0,1
select date_format(current_timestamp(),‘yyyy-MM-dd HH:mm:ss’);
select date_format(current_date(),‘yyyy-MM-dd’);
select date_format(‘2020-11-11’,‘yyyy-MM-dd HH:mm:ss’); --字符串必须满足yyyy-MM-dd格式
select from_utc_timestamp(current_timestamp(),8);
select to_utc_timestamp(current_timestamp(),8);