mysql中ADDTIME()函数使用疑惑(转载)

转载自:http://lief.iteye.com/blog/2184980

关于MYSQL中的ADDTIME()函数

官方文档写道
ADDTIME()将 expr2添加至expr 然后返回结果。 expr 是一个时间或时间日期表达式,而expr2 是一个时间表达式。
mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002');
        -> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
        -> '03:00:01.999997'

 下面是"正常"的执行结果

1、执行:

 

Sql代码  收藏代码
  1. select ADDTIME('2015-01-31 16:27:08',1);  

 执行结果: 2015-01-31 16:27:09 

 

2、执行:

 

Sql代码  收藏代码
  1. select ADDTIME('2015-01-31 16:27:08',59);   

执行结果: 2015-01-31 16:28:07 

 

 

官方文档中只有一个例子,但是经过测试发现以下“非正常”结果:

当60<=exp2<=99的时候,计算结果均为null;

 

当exp2=100时,exp1的时间刚好增加了60秒;

当exp2=110时,exp1的时间刚好增加了1分10秒;

当159<=exp2<=199时,计算结果依然为null;

当exp2=210时,exp1的时间刚好增加了2分10秒;

 

暂时没有找到这个函数计算的详细介绍,只发现了这个规律,不吝赐教!

posted @ 2017-10-02 00:34  一肥惊人  阅读(79)  评论(0)    收藏  举报