获取yyy-MM-DD当前日期
SELECT CURRENT_DATE;
— 2019-06-25
获取yyy-MM-DD hh:mm:ss当前日期
SELECT CURRENT_TIMESTAMP;
– 2019-06-25 15:33:25
获取当前时间unix时间戳
SELECT unix_timestamp()
–1561447860
获取指定时间unix时间戳
SELECT unix_timestamp('20190625','yyyymmdd')
–1548345960
将unix时间戳转换为指定格式时间
SELECT from_unixtime(unix_timestamp(),'yyyy-MM-dd')
– 2019-06-25
将unix时间戳转换为默认格式时间
SELECT from_unixtime(unix_timestamp())
2019-06-25 15:33:25
不同时间格式的转换
from_unixtime(unix_timestamp('20180905','yyyymmdd'),'yyyy-mm-dd')
或者
concat(substr('20180905',1,4),'-',substr('20180905',5,2),'-',substr('20180905',7,2))
加减天数(yyyy-MM-dd)
date_add('2008-12-31', 1) = '2009-01-01'
date_sub(current_date ,1) = 昨天的日期(yyyy-MM-dd)
获取前 n 个小时或者后 n 个小时的时间
from_unixtime(unix_timestamp(date_format(current_timestamp,'yyyy-MM-dd HH:mm:ss') )-3600*n)
获取日期中的年/月/日/时/分/秒/周
dt=from_unixtime(unix_timestamp())
select year(dt),month(dt),day(dt),hour(dt),minute(dt),second(dt),weekofyear(dt)
计算两个日期之间的天数: datediff
select datediff('2017-09-15','2017-09-01') from dual;
其它
查询当月第几天: dayofmonth(current_date);
月末: last_day(current_date)
当月第1天: date_sub(current_date,dayofmonth(current_date)-1)
下个月第1天: add_months(date_sub(current_date,dayofmonth(current_date)-1),1)