MySQL时间差函数TIMESTAMPDIFF、DATEDIFF的使用方法
时间差函数TIMESTAMPDIFF、DATEDIFF的使用方法
编写sql语句时,经常使用日期、时间的比较和判断,特别是在存储过程中。 以下是这两个时间差比较函数的使用示例。
datediff函数。 返回值是不同的天数,不能定位为小时、分钟或秒。
-差两天
选择日期(2018-03-220933600336000 )、) 2018-03-20 07:00:00;
TIMESTAMPDIFF函数。 具有参数设置,可以准确设置为日(天)、小时(分钟)、秒)、SECOND,使用起来比datediff函数更灵活。 关于比较的两个时间,把时间小的放在前面,时间大的放在后面。
-差一天
selecttimestampdiff (日期,' 2018-03-20 23:59:00 ',' 2015-03-22 00:00:00 ';
-差49个小时
selecttimestampdiff(hour,' 2018-03-20 09:00:00 ',' 2018-03-22 10:00:00 ' );
相差2940分钟
selecttimestampdiff(minute,' 2018-03-20 09:00:00 ',' 2018-03-22 10:00:00 ';
176400秒不同
selecttimestampdiff(second,' 2018-03-20 09:00:00 ',' 2018-03-22 10:00:00 ';
存储中的写法:
注: var_committime是上一项业务需要比较的时间。
-获取当前时间
setvar _ current _ time=concat (curdate )、'、CURTIME );
-时间比较
setvar _ time _ diff=timestamp diff (minute,var_committime,var_current_time );
-判断未经审核的合同是否超过48小时未处理,超过则进行后续逻辑处理,否则不予处理。
if(var_time_diff2880 ) THEN
-相关业务逻辑处理
结束If;