获取当前时间
> select unix_timestamp(now()); --结果 1600938373
获取当前时间
> select current_date; -- 结果 2020-09-17
获取昨天时间
> select SUBDATE('2020-09-17',1); -- 结果 2020-09-16
获取月份
> select SUBSTR('2020-09-17', 1 , 7 ); -- 结果 2020-09
1 --> 代表从哪个角标开始
7 --> 代表从哪个角标结束
获取某天所在月的最后一天
> select LAST_DAY('2020-09-17') ; -- 结果 2020-09-30
获取某天所在的月初时间
> select date_add(date_add(last_day("2020-09-17"),interval 1 day),interval -1 month); -- 结果 2020-09-01
> select date_add(date_add(last_day("2020-09-17"),interval 1 day),interval -2 month); -- 结果 2020-08-01
> select date_add(date_add(last_day("2020-09-17"),interval 1 day),interval 2 month); -- 结果 2020-12-01
注: 如果想获取上个月的月初时间 可以将最后面的 -1 改成 -2 上上个月 就将 -1 改成 -3 ,将 -1 改成 整数 是往后推 下个月的月初时间。
获取上月的月份
先获取上月的月初时间 在使用substr函数
select substr(date_add(date_add(last_day("2020-09-17"),interval 1 day),interval -2 month),1,7) -- 结果 2020-08
如果数据是 '2020-10' 这样的数据
则需要将这个使用concat拼接"-01" (拼接哪天都行) 在将 上面的 "2020-09-17" 替换掉即可
时间戳转换
> select FROM_UNIXTIME('1556425094' , '%Y-%m-%d'); -- 结果 2019-04-28
时间差
> select DATEDIFF("2020-09-03","2020-09-01") ; -- 结果 2