mysql的时间函数

今天用到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()等等等等。

猜你喜欢

转载自yuri-liuyu.iteye.com/blog/1716779