涉及到的任何SQL语句或知识点,未特别注明则表明MySQL和Hive通用。
一、时间函数
一、时间函数
1、时间转换
时间戳转指定格式的时间:
select from_unixtime(1234567890,格式);
格式默认是年月日时分秒,如果不是则需要指定格式。
Hive(yyyy-MM-dd HH:mm:ss)。MySQL(%Y-%m-%d %H:%m:%s)。
时间字符串转时间戳:
select unix_timestamp('2019-11-11 10:10:10');
第一个参数是否是标准的年月日时分秒MySQL没有限制,而Hive则必须,否则就需要第二个参数指定格式。
返回当前时间、当前时间戳:
select now();
select unix_timestamp();
返回具体的年月日时分秒:
year()、month()、day()、hour()、minute()、second()。
使用这些函数操作'2016-07-06 09:02:03'的月份、日期、时、分、秒时,返回的一位数。这点要注意。
2、时间运算
两个日期差:select timestampdiff(year,sage,now()) from t_student;
时间差是年、月、日为单位均可第一个参数指定。
Hive中没有timestampdiff,只有datediff,两个函数的终止时间都是最后一个参数。
基准日期前后移动:
hive:select date_add('2019-12-31',4);
MySQL:s