求一个mysql 函数,能够计算两个日期直接相差的工作时间是多少分钟,只计算周一到周五早8点到晚5点之间的时间,这些时间算是工作时间。其他法定假日不需要特殊处理

解决方案 »

  1.   

    mysql> SELECT TIMESTAMPDIFF(hour,'2017-01-01 09:00','2017-01-01 18:00'); 
    +-----------------------------------------------------------+
    | TIMESTAMPDIFF(hour,'2017-01-01 09:00','2017-01-01 18:00') |
    +-----------------------------------------------------------+
    |                                                         9 |
    +-----------------------------------------------------------+
    1 row in set (0.00 sec)mysql> 
      

  2.   

    这个和MYSQL本身没什么关系了。手册中有MYSQL的时间计算操作和函数。关键是用自己用IF条件或者其它算法列出计算公式。 (t1,t2) 建议分析一下 t1 在非工作时间, t1 在工作时间, t2 在非工作时间, t2 在工作时间,的情景。然后就容易了。