MySQL修改时间函数:
1. addDate(date,INTERVAL expr unit) interval 代表时间间隔 :
SELECT NOW(); 2018-06-20 15:00:00 -- 当前时间
SELECT ADDDATE('2018-06-20 15:00:00',INTERVAL -60 SECOND) AS time; 2018-06-20 14:59:00 -- 减60秒
SELECT ADDDATE('2018-06-20 15:00:00',INTERVAL -1 MINUTE) AS time; 2018-06-20 14:59:00 -- 减1分钟
SELECT ADDDATE('2018-06-20 15:00:00',INTERVAL -1 HOUR) AS time; 2018-06-20 14:00:00 -- 减1小时
SELECT ADDDATE('2018-06-20 15:00:00',INTERVAL -1 DAY) AS time; 2018-06-19 15:00:00 -- 减1天
SELECT ADDDATE('2018-06-20 15:00:00',INTERVAL -1 MONTH) AS time; 2018-05-20 15:00:00 -- 减1个月
SELECT ADDDATE('2018-06-20 15:00:00',INTERVAL -1 YEAR) AS time; 2017-06-20 15:00:00 -- 减1年
链接:https://blog.csdn.net/fengzijinliang/article/details/55259766 (mysql日期和字符相互转换方法)
SELECT ADDDATE('2018-06-20 15:00:00', INTERVAL - 90 DAY); 2018-03-22 15:00:00
SELECT date_format('2018-03-22 15:00:00', '%Y-%m-%d'); 2018-03-22
SELECT CONCAT('2018-06-20',' 00:00:00'); 2018-03-22 00:00:00
SELECT str_to_date('2018-06-20 00:00:00','%Y-%m-%d %T'); 2018-03-22 00:00:00
综合 : SELECT str_to_date(concat(date_format(ADDDATE(NOW(), INTERVAL - 90 DAY),'%Y-%m-%d'),' 00:00:00'),'%Y-%m-%d %T'); 2018-03-22 00:00:00
2. date_format(date,’%Y-%m-%d’) ————–>oracle中的to_char();
3. str_to_date(date,’%Y-%m-%d’) ————–>oracle中的to_date();
%Y:代表4位的年份
%y:代表2为的年份
%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)
%H:代表小时,格式为(00……23)
%k:代表 小时,格式为(0……23)
%h: 代表小时,格式为(01……12)
%I: 代表小时,格式为(01……12)
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59) 【只有这一个代表分钟,大写的I 不代表分钟代表小时】
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)
%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)
4.DATE_SUB(NOW(), INTERVAL 48 HOUR)
SELECT DATE_SUB(NOW(), INTERVAL 48 HOUR); 距离当前时间前移48小时的时间点 例如2018年8月31日01:13:27 -- 2018-08-29 01:13:27