今天用到mysql的时间函数,才发现,以前每次写函数都是现去google,感觉很坑爹。
这次用到了,上网查了下,找到一篇文章还不错,总结了一些时间函数,列一些平时会用到的(也就是我平时会查的那些,过于基础的就不列了)。
1.获取时间间隔,有datediff和timediff还有timestampdiff两个函数,不过明显的后者的功能更强大一些
select datediff('2008-08-08', '2008-08-01');
select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00');
select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00');
timestampdiff多了一个参数,可以动态的调整间隔单位,而datediff和timediff则比较的专一
2.为时间增加一个时间间隔date_add和date_sub,基本语法是一样的,顾名思义,一个是增加一个是减少
基础用法:
select date_add(now(), interval 1 day); -- add 1 day
其它用法:
select date_add(now(), interval '01:15:30' hour_second);
这个用法我觉得很好,尤其是后面的参数,可以指定多个单位hour_sencond是小时到秒,而不是小时和秒,不错吧。
同样的
select date_add(now(), interval '1 01:15:30' day_second);
很好用啊!
3.Extract函数
select extract(day_hour from now());
啧啧,同样是day_hour这种参数,在这里也用到了。当然想就抽取一个单位的数据,必须也可以啊
select extract(microsecond from now());
那这种情况就等于是
select microsecond(now());
还少敲了几个字。
当然还有now() current_date() current_time date_format()等等等等。