大家好,欢迎来到IT知识分享网。
今天项目开发的时候遇到了这个需求,所以特意来做一下记录;
本片目录:
数据库时间差函数TIMESTAMPDIFF的使用;
数据库时间段累加函数TIMESTAMPADD的使用;
1. 数据库时间差函数TIMESTAMPDIFF的使用
1 函数作用
TIMESTAMPDIFF( interval , start_datetime_expr1 , end_datetime_expr2 ):使用这个DB函数可以求出两个时间段的间隔;
2 interval作用
其中,interval是指间隔的展示形式。可以是 秒 分钟 小时 或者是天 甚至是月。下面列举一下支持的类型:
1)FRAC_SECOND。表示间隔是毫秒
2)SECOND。秒
3)MINUTE。分钟
4)HOUR。小时
5)DAY。天
6)WEEK。星期
7)MONTH。月
8)QUARTER。季度
9)YEAR。年
3 时间格式
而start_datetime_expr1和end_datetime_expr2是指起始时间和结束时间;
它们俩的格式可以是 ‘%H:%i:%s’ 或者是 ‘%H-%i-%s’ 甚至是 ‘%H/%i/%s’;
4 实例演示
select TIMESTAMPDIFF( FRAC_SECOND , '2012/08/24 12:12:12','2012/08/25 12:12:12' );
select TIMESTAMPDIFF( SECOND , '2012-08-24 12:12:12','2012-08-25 12:12:12' );
select TIMESTAMPDIFF( hour , '2012:08:24 12:12:12','2012:08:25 12:12:12' );
select TIMESTAMPDIFF( DAY , '2012/08/24','2012/08/25' );
select TIMESTAMPDIFF( WEEK , '2012-08-24','2012-08-25' );
select TIMESTAMPDIFF( MONTH , '2012:08:24','2012:08:25' );
注:这些主要是想给大家演示一下时间的格式是多样的。所以它真滴很好用,在求时间差值方面;
2. 数据库时间段累加函数TIMESTAMPADD的使用
1 函数作用
TIMESTAMPADD( interval , int_expr , datetime_expr ):使用这个DB函数可以求出一个起始时间向后累加一个int值后的时间值;
2 interval和上面一致 哈!
3 int_expr
它是指你需要向后延伸的整数值,值的含义由interval来进行限定;
4 datetime_expr和上面的格式一致 哈!
5 实例演示
select timestampadd(hour , 12 , '2012/08/24 12:12:12');
select timestampadd(hour , 12 , '2012-08-24 12:12:12');
select timestampadd(hour , 12 , '2012:08:24 12:12:12');
select timestampadd(hour , 12 , '2012/08/24');
select timestampadd(hour , 12 , '2012-08-24');
select timestampadd(hour , 12 , '2012:08:24');
注:同样,这里的时间格式也是很多样化。所以说它也很好用;
但是有个小现象,就是我们不管使用什么时间格式的数据进行累加结果都只会是2012-08-24 12:00:00这种格式;
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21116.html