1、
now (); 当前具体的日期和时间
curdate (); 当前日期
curtime(); 当前时间
日期格式化 select date(time) from exercise.
mysql日期相减取小时
TIMESTAMPDIFF(HOUR,a.StartTime,a.EndTime)
加减某个时间间隔函数date_add()与date_sub()
date_add('某个日期时间',interval 1 时间种类名);
示例:
select date_add(@dt, interval 1 year); //加1年
select date_add(@dt, interval 1 month); //加1月
quarter:季,week:周,day:天,hour:小时,minuter:分钟,second:秒,microsecond:毫秒
注:也可以不用变量,直接加减某个时间,如:select date_add('1998-01-01', interval 1 day);
2.日期相减
datediff(date1,date2):两个日期相减,date1减去date2得到相减之后的天数
timediff(time1,time2):两个时间相减 time1减time2,返回差值。
select timediff('2019-06-03 12:30:00', '2019-06-03 12:29:30');
等同于
select timediff('12:30:00', '12:29:30');
2. MySQL 为日期减去一个时间间隔:date_sub()
mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);
+----------------------------------------------------------------+
| date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second) |
+----------------------------------------------------------------+
| 1997-12-30 22:58:59 |
+----------------------------------------------------------------+
MySQL date_sub() 日期时间函数 和 date_add() 用法一致,不再赘述。另外,MySQL 中还有两个函数 subdate(), subtime(),建议,用 date_sub() 来替代。
4. MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)
MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数。
select datediff('2008-08-08', '2008-08-01'); -- 7
select datediff('2008-08-01', '2008-08-08'); -- -7
MySQL timediff(time1,time2):两个日期相减 time1 - time2,返回 time 差值。
select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08
select timediff('08:08:08', '00:00:00'); -- 08:08:08